运用LINGO进行优化模型求解并与EXCEL进行连接.docx

上传人:b****5 文档编号:3578909 上传时间:2022-11-24 格式:DOCX 页数:13 大小:165.24KB
下载 相关 举报
运用LINGO进行优化模型求解并与EXCEL进行连接.docx_第1页
第1页 / 共13页
运用LINGO进行优化模型求解并与EXCEL进行连接.docx_第2页
第2页 / 共13页
运用LINGO进行优化模型求解并与EXCEL进行连接.docx_第3页
第3页 / 共13页
运用LINGO进行优化模型求解并与EXCEL进行连接.docx_第4页
第4页 / 共13页
运用LINGO进行优化模型求解并与EXCEL进行连接.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

运用LINGO进行优化模型求解并与EXCEL进行连接.docx

《运用LINGO进行优化模型求解并与EXCEL进行连接.docx》由会员分享,可在线阅读,更多相关《运用LINGO进行优化模型求解并与EXCEL进行连接.docx(13页珍藏版)》请在冰豆网上搜索。

运用LINGO进行优化模型求解并与EXCEL进行连接.docx

运用LINGO进行优化模型求解并与EXCEL进行连接

 

实验报告

(二)

 

课程名称数学实验

实验项目运用LINGO进行优化模型求解,并与EXCEL进行连接

实验环境PC机、LINGO

班级/学号/姓名 

指导教师

实验日期2013-11-5

 

成绩

 

一、实验名称:

运用LINGO进行优化模型求解,并与EXCEL进行连接

二、实验目的:

1、掌握Lingo求解线性规划模型的方法及回看求解结果报告;

2、掌握Lingo进行灵敏度分析的方法;

3、掌握Lingo求解整数规划和0-1规划的方法;

4、掌握Lingo中集合的定义方法;

5、掌握Lingo与Excel之间的链接方法;

三、实验内容:

习题四:

1.用LINGO求解下列线性规划问题

(1)

程序:

model:

max=6*x1+2*x2+10*x3+8*x4;

5*x1+6*x2-4*x3-4*x4<=20;

3*x1-3*x2+2*x3+8*x4<=25;

4*x1-2*x2+x3+3*x4<=10;

end

结果:

(2)

程序:

model:

max=-5*x1+5*x2+13*x3;

-1*x1+x2+3*x3<=20;

12*x1+4*x2+10*x3<=90;

end

结果:

(3)

程序:

model:

min=2*x+y;

7*x-5*y-23<=0;

x+7*y-11<=0;

4*x+y+10>=0;

@free(x);

@free(y);

end

结果:

2.用LINGO求解如下整数规划问题

(1)

程序:

model:

max=5*x1+10*x2+3*x3+6*x4;

x1+4*x2+5*x3+10*x4<=20;

@gin(x);

end

结果:

(2)

程序:

min=2*x1+5*x2+3*x3+4*x4;

-4*x1+x2+x3+x4>=0;

-2*x1+4*x2+2*x3+4*x4>=1;

x1+x2-x3+x4>=1;

@bin(x1);

@bin(x2);

@bin(x3);

@bin(x4);

end

结果:

(3)

程序:

max=x+y;

2*x-y-3>0;

2*x+3*y-6<0;

3*x-5*y-15<0;

@gin(x);

@gin(y);

end

结果:

习题五:

1、某厂生产A、B、C三种产品其所需劳动力、材料等有关数据见表格。

问题:

1)确定获利最大的产品生产计划;

2)产品A的利润在什么范围内变动时,上述最有计划不变?

3)如果劳动力数量不增,材料不足时可以从市场买,每单位0.4元,问该厂要不要购进原材料扩大生产,以购多少为宜?

资源

消耗定额

产品

A

B

C

可用量

(单位)

劳动力

6

3

5

45

材料

3

4

5

30

产品利润(元/件)

3

1

4

解:

设A,B,C的产量分别为x1,x2,x3,资源为a,消耗定额为b,利润为c。

从excel表格中读数据。

(1)程序:

model:

sets:

ziyuan/a1,a2/:

a;

xiaohao/A,B,C/:

c,x;

links(ziyuan,xiaohao):

b;

endsets

data:

a=@ole('Book1.xlsx','aa');

c=@ole('Book1.xlsx','cc');

b=@ole('Book1.xlsx','bb');

@ole('Book1.xlsx','xxx')=x;

enddata

max=@sum(xiaohao(j):

c(j)*x(j));

@for(ziyuan(i):

@sum(xiaohao(j):

b(i,j)*x(j))<=a(i));

end

结果:

(2)将结果进行灵敏度分析

即产品A的利润在2.4-4.8之间变动,上述最有计划不变。

(3)从第一问数据中,DUALPRICE给出这两个资源在最优解下,“资源”增加

1个单位时利润的增量:

劳动力增加一个单位利润增加0.2元,原料增加1个单位利润增加0.6元。

由第二问灵敏度分析可知CURRENTRHS的ALLOWABLEINCREASE和ALLOWABLEDECREASE给出了影子价格有意义条件下约束右端的限制范围,即原材料最多增加15个单位。

4、(混合泳接力队的选拔问题)某班准备从5名游泳队员中选择4人组成接力队,参加学校的4x100m混合泳接力比赛。

5名队员4种泳姿的百平米均成绩如表,问应该如何选拔队员组成接力队?

如果最近队员的丁的蛙泳成绩有较大退步,只有1′15″2;而队员戊经过艰苦训练自由泳成绩有所进步,打到57″5,组成接力队的方案是否应该调整?

泳姿

队员

蝶泳

1′06″8

57″2

1′18″

1′10″

1′07″4

仰泳

1′15″6

1′06″

1′07″8

1′14″2

1′11″

蛙泳

1′27″

1′06″4

1′24″6

1′09″6

1′23″8

自由泳

58″6

53″

59″4

57″2

1′02″4

解:

设x(i,j)为第i种泳姿,第j个人,x(i,j)=1为第i种泳姿选第j个人,x(i,j)=0为第i种泳姿不选第j个人。

从excel表格中读数据。

(1)程序:

model:

sets:

yongzi/a1..a4/;

duiyuan/b1..b5/;

links(yongzi,duiyuan):

T,x;

endsets

data:

T=@ole('Book2.xlsx','tt');

@ole('Book2.xlsx','xx')=x;

enddata

min=@sum(links:

T*x);

@for(yongzi(i):

@sum(duiyuan(j):

x(i,j))=1);

@for(duiyuan(j):

@sum(yongzi(i):

x(i,j))<=1);

end

结果:

即接力队选乙,丙,丁,甲分别参加蝶泳,仰泳,蛙泳,自由泳。

(2)将丁的蛙泳成绩改为75.2秒,戊的自由泳成绩改为57.5秒。

结果:

即接力队选乙,丙,丁,戊分别参加蝶泳,仰泳,蛙泳,自由泳。

选址问题

某公司有6个建筑工地要开工,工地位置(

)和水泥日用量

由表格给出,公司目前有两个临时存放水泥的场地(料场),分别位于A(5,1)和B(2,7),日存储量各20吨,请解决一下问题。

(1)假设从料场到工地之间均有直线道路项链,试制定日运输计划,即从A,B两个料场分别向各工地运送多少水泥,使总的吨千米数最小?

(2)为了进一步减少吨千米数,打算舍弃目前的两个临时料场,改建两个新料场,日存储量仍然为20吨,问建在何处为好?

工地

1

2

3

4

5

6

位置

X

1.25

8.75

0.5

5.75

3

7.25

Y

1.25

0.75

4.75

5

6.5

7.75

日用量

3

5

4

7

6

11

解:

设料场为lc,工地为gd。

从excel表格中读数据。

(1)程序:

model:

sets:

lc/A,B/:

x,y;

gd/1..6/:

a,b,d;

links(lc,gd):

c;

endsets

data:

x=5,2;

y=1,7;

a,b,d=@ole('Book3.xlsx','aa','bb','dd');

@ole('Book3.xlsx','cc')=c;

enddata

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

c(i,j)*@sqrt((x(i)-a(i))^2+(y(i)-b(j))^2));

@for(lc(i):

@sum(gd(j):

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

@for(gd(j):

@sum(lc(i):

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

end

结果:

(2)程序:

model:

sets:

lc/A,B/:

x,y,e;

gd/1..6/:

a,b,d;

links(lc,gd):

c;

endsets

init:

x=5,2;

y=1,7;

endinit

data:

a,b,d=@ole('Book3.xlsx','aa','bb','dd');

e=20,20;

@ole('Book3.xlsx','cc')=c;

enddata

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

c(i,j)*@sqrt((x(i)-a(i))^2+(y(i)-b(j))^2));

@for(lc(i):

@sum(gd(j):

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

@for(gd(j):

@sum(lc(i):

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

end

结果:

四、实验心得

通过这次实验,我学会了lingo软件的基本操作对于一个较复杂的数学模型能够狠方便的求解。

做题过程中也常出现问题,比如lingo与excel文件之间的数据传递,调用数据是名称要与定义数据块名称一致,要使excel表格处于打开状态。

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

当前位置:首页 > 小学教育 > 小升初

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

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