天大运筹学相关软件lindo案例.docx

上传人:b****7 文档编号:25279446 上传时间:2023-06-06 格式:DOCX 页数:29 大小:71.33KB
下载 相关 举报
天大运筹学相关软件lindo案例.docx_第1页
第1页 / 共29页
天大运筹学相关软件lindo案例.docx_第2页
第2页 / 共29页
天大运筹学相关软件lindo案例.docx_第3页
第3页 / 共29页
天大运筹学相关软件lindo案例.docx_第4页
第4页 / 共29页
天大运筹学相关软件lindo案例.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

天大运筹学相关软件lindo案例.docx

《天大运筹学相关软件lindo案例.docx》由会员分享,可在线阅读,更多相关《天大运筹学相关软件lindo案例.docx(29页珍藏版)》请在冰豆网上搜索。

天大运筹学相关软件lindo案例.docx

天大运筹学相关软件lindo案例

(a)Lindo的数据分析及习题

(a)灵敏性分析(Range,Ctrl+R)

用该命令产生当前模型的灵敏性分析报告:

研究当目标函数的费用系数和约束右端项在什么范围(此时假定其它系数不变)时,最优基保持不变。

灵敏性分析是在求解模型时作出的,因此在求解模型时灵敏性分析是激活状态,但是默认是不激活的。

为了激活灵敏性分析,运行LINGO|Options…,选择GeneralSolverTab,在DualComputations列表框中,选择PricesandRanges选项。

灵敏性分析耗费相当多的求解时间,因此当速度很关键时,就没有必要激活它。

 

下面我们看一个简单的具体例子。

例5.1某家具公司制造书桌、餐桌和椅子,所用的资源有三种:

木料、木工和漆工。

生产数据如下表所示:

 

每个书桌

每个餐桌

每个椅子

现有资源总数

木料

8单位

6单位

1单位

48单位

漆工

4单位

2单位

1.5单位

20单位

木工

2单位

1.5单位

0.5单位

8单位

成品单价

60单位

30单位

20单位

 

若要求桌子的生产量不超过5件,如何安排三种产品的生产可使利润最大?

用DESKS、TABLES和CHAIRS分别表示三种产品的生产量,建立LP模型。

max=60*desks+30*tables+20*chairs;

8*desks+6*tables+chairs<=48;

4*desks+2*tables+1.5*chairs<=20;

2*desks+1.5*tables+.5*chairs<=8;

tables<=5;

求解这个模型,并激活灵敏性分析。

这时,查看报告窗口(ReportsWindow),可以看到如下结果。

Globaloptimalsolutionfoundatiteration:

3

Objectivevalue:

280.0000

 

VariableValueReducedCost

DESKS2.0000000.000000

TABLES0.0000005.000000

CHAIRS8.0000000.000000

 

RowSlackorSurplusDualPrice

1280.00001.000000

224.000000.000000

30.00000010.00000

40.00000010.00000

55.0000000.000000

“Globaloptimalsolutionfoundatiteration:

3”表示3次迭代后得到全局最优解。

“Objectivevalue:

280.0000”表示最优目标值为280。

“Value”给出最优解中各变量的值:

造2个书桌(desks),0个餐桌(tables),8个椅子(chairs)。

所以desks、chairs是基变量(非0),tables是非基变量(0)。

“SlackorSurplus”给出松驰变量的值:

第1行松驰变量=280(模型第一行表示目标函数,所以第二行对应第一个约束)

第2行松驰变量=24

第3行松驰变量=0

第4行松驰变量=0

第5行松驰变量=5

“ReducedCost”列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时,目标函数的变化率。

其中基变量的reducedcost值应为0,对于非基变量Xj,相应的reducedcost值表示当某个变量Xj增加一个单位时目标函数减少的量(max型问题)。

本例中:

变量tables对应的reducedcost值为5,表示当非基变量tables的值从0变为1时(此时假定其他非基变量保持不变,但为了满足约束条件,基变量显然会发生变化),最优的目标函数值=280-5=275。

“DUALPRICE”(对偶价格)表示当对应约束有微小变动时,目标函数的变化率。

输出结果中对应于每一个约束有一个对偶价格。

若其数值为p,表示对应约束中不等式右端项若增加1个单位,目标函数将增加p个单位(max型问题)。

显然,如果在最优解处约束正好取等号(也就是“紧约束”,也称为有效约束或起作用约束),对偶价格值才可能不是0。

本例中:

第3、4行是紧约束,对应的对偶价格值为10,表示当紧约束

3)4DESKS+2TABLES+1.5CHAIRS<=20

变为3)4DESKS+2TABLES+1.5CHAIRS<=21

时,目标函数值=280+10=290。

对第4行也类似。

对于非紧约束(如本例中第2、5行是非紧约束),DUALPRICE的值为0,表示对应约束中不等式右端项的微小扰动不影响目标函数。

有时,通过分析DUALPRICE,也可对产生不可行问题的原因有所了解。

灵敏度分析的结果是

Rangesinwhichthebasisisunchanged:

ObjectiveCoefficientRanges

CurrentAllowableAllowable

VariableCoefficientIncreaseDecrease

DESKS60.000000.00.0

TABLES30.000000.00.0

CHAIRS20.000000.00.0

 

RighthandSideRanges

RowCurrentAllowableAllowable

RHSIncreaseDecrease

248.000000.00.0

320.000000.00.0

48.0000000.00.0

55.0000000.00.0

目标函数中DESKS变量原来的费用系数为60,允许增加(AllowableIncrease)=4、允许减少(AllowableDecrease)=2,说明当它在[60-4,60+20]=[56,80]范围变化时,最优基保持不变。

对TABLES、CHAIRS变量,可以类似解释。

由于此时约束没有变化(只是目标函数中某个费用系数发生变化),所以最优基保持不变的意思也就是最优解不变(当然,由于目标函数中费用系数发生了变化,所以最优值会变化)。

第2行约束中右端项(RightHandSide,简写为RHS)原来为48,当它在[48-24,48+∞]=[24,∞]范围变化时,最优基保持不变。

第3、4、5行可以类似解释。

不过由于此时约束发生变化,最优基即使不变,最优解、最优值也会发生变化。

灵敏性分析结果表示的是最优基保持不变的系数范围。

由此,也可以进一步确定当目标函数的费用系数和约束右端项发生小的变化时,最优基和最优解、最优值如何变化。

下面我们通过求解一个实际问题来进行说明。

 

例5.2一奶制品加工厂用牛奶生产A1,A2两种奶制品,1桶牛奶可以在甲车间用12小时加工成3公斤A1,或者在乙车间用8小时加工成4公斤A2。

根据市场需求,生产的A1,A2全部能售出,且每公斤A1获利24元,每公斤A2获利16元。

现在加工厂每天能得到50桶牛奶的供应,每天正式工人总的劳动时间480小时,并且甲车间每天至多能加工100公斤A1,乙车间的加工能力没有限制。

试为该厂制订一个生产计划,使每天获利最大,并进一步讨论以下3个附加问题:

1)若用35元可以买到1桶牛奶,应否作这项投资?

若投资,每天最多购买多少桶牛奶?

2)若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时几元?

3)由于市场需求变化,每公斤A1的获利增加到30元,应否改变生产计划?

模型代码如下:

max=72*x1+64*x2;

x1+x2<=50;

12*x1+8*x2<=480;

3*x1<=100;

求解这个模型并做灵敏性分析,结果如下。

Globaloptimalsolutionfoundatiteration:

0

Objectivevalue:

3360.000

 

VariableValueReducedCost

X120.000000.000000

X230.000000.000000

RowSlackorSurplusDualPrice

13360.0001.000000

20.00000048.00000

30.0000002.000000

440.000000.000000

 

Rangesinwhichthebasisisunchanged:

ObjectiveCoefficientRanges

CurrentAllowableAllowable

VariableCoefficientIncreaseDecrease

X172.0000024.000008.000000

X264.000008.00000016.00000

RighthandSideRanges

RowCurrentAllowableAllowable

RHSIncreaseDecrease

250.0000010.000006.666667

3480.000053.3333380.00000

4100.0000INFINITY40.00000

结果告诉我们:

这个线性规划的最优解为x1=20,x2=30,最优值为z=3360,即用20桶牛奶生产A1,30桶牛奶生产A2,可获最大利润3360元。

输出中除了告诉我们问题的最优解和最优值以外,还有许多对分析结果有用的信息,下面结合题目中提出的3个附加问题给予说明。

3个约束条件的右端不妨看作3种“资源”:

原料、劳动时间、车间甲的加工能力。

输出中SlackorSurplus给出这3种资源在最优解下是否有剩余:

原料、劳动时间的剩余均为零,车间甲尚余40(公斤)加工能力。

目标函数可以看作“效益”,成为紧约束的“资源”一旦增加,“效益”必然跟着增长。

输出中DUALPRICES给出这3种资源在最优解下“资源”增加1个单位时“效益”的增量:

原料增加1个单位(1桶牛奶)时利润增长48(元),劳动时间增加1个单位(1小时)时利润增长2(元),而增加非紧约束车间甲的能力显然不会使利润增长。

这里,“效益”的增量可以看作“资源”的潜在价值,经济学上称为影子价格,即1桶牛奶的影子价格为48元,1小时劳动的影子价格为2元,车间甲的影子价格为零。

读者可以用直接求解的办法验证上面的结论,即将输入文件中原料约束milk)右端的50改为51,看看得到的最优值(利润)是否恰好增长48(元)。

用影子价格的概念很容易回答附加问题1):

用35元可以买到1桶牛奶,低于1桶牛奶的影子价格48,当然应该作这项投资。

回答附加问题2):

聘用临时工人以增加劳动时间,付给的工资低于劳动时间的影子价格才可以增加利润,所以工资最多是每小时2元。

目标函数的系数发生变化时(假定约束条件不变),最优解和最优值会改变吗?

这个问题不能简单地回答。

上面输出给出了最优基不变条件下目标函数系数的允许变化范围:

x1的系数为(72-8,72+24)=(64,96);x2的系数为(64-16,64+8)=(48,72)。

注意:

x1系数的允许范围需要x2系数64不变,反之亦然。

由于目标函数的费用系数变化并不影响约束条件,因此此时最优基不变可以保证最优解也不变,但最优值变化。

用这个结果很容易回答附加问题3):

若每公斤A1的获利增加到30元,则x1系数变为30×3=90,在允许范围内,所以不应改变生产计划,但最优值变为90×20+64×30=3720。

下面对“资源”的影子价格作进一步的分析。

影子价格的作用(即在最优解下“资源”增加1个单位时“效益”的增量)是有限制的。

每增加1桶牛奶利润增长48元(影子价格),但是,上9

面输出的CURRENTRHS的ALLOWABLEINCREASE和ALLOWABLEDECREASE给出了影子价格有意义条件下约束右端的限制范围:

milk)原料最多增加10(桶牛奶),time)劳动时间最多增加53(小时)。

现在可以回答附加问题1)的第2问:

虽然应该批准用35元买1桶牛奶的投资,但每天最多购买10桶牛奶。

顺便地说,可以用低于每小时2元的工资聘用临时工人以增加劳动时间,但最多增加53.3333小时。

需要注意的是:

灵敏性分析给出的只是最优基保持不变的充分条件,而不一定是必要条件。

比如对于上面的问题,“原料最多增加10(桶牛奶)”的含义只能是“原料增加10(桶牛奶)”时最优基保持不变,所以影子价格有意义,即利润的增加大于牛奶的投资。

反过来,原料增加超过10(桶牛奶),影子价格是否一定没有意义?

最优基是否一定改变?

一般来说,这是不能从灵敏性分析报告中直接得到的。

此时,应该重新用新数据求解规划模型,才能做出判断。

所以,从正常理解的角度来看,我们上面回答“原料最多增加10(桶牛奶)”并不是完全科学的。

吸尘器生产计划

某机器公司可以生产三种不同型号的小型吸尘器,A型、B型、C型,但最后一种已经不生产了。

A型的单价是1500元,B型的单价是1400元。

为了完成各月定货,生产车间必须制定出一个生产计划以使费用最低。

因为A型和B型吸尘器都分别有两种型号:

一种是使用高碳钢(STEEL–1)和一些铝;另一种是使用低碳钢(STEEL–2)和大量铝,而金属价格差别很大,所以制定最优生产计划并非易事。

客户并不在意公司为他们生产的吸尘器是属于两种型号中的哪一种。

公司决定使用线性规划制定最优计划,问题的关键是满足客户的总定货要求,在不超过公司的熟练工人与技术工人以及生产能力的限制的情况下使生产费用最小。

铝的费用是107元/10kg;STEEL–1:

38元/10kg,STEEL–2:

29元/10kg下表给出生产三种吸尘器所需的原材料及劳动力工时等。

表1

B型

A型

C型

可供应量

1型

2型

1型

2型

铝(公斤)

0.2

1

0.6

0.2

无限

高碳钢(公斤)

12

10

4

无限

低碳钢(公斤)

11

9

无限

熟练工(小时)

8

9

7

8

5

9600

技术工(小时)

9

13

8

10

7

6400

生产能力(小时)

7

8

8

9

7

7000

公司下月的定货为:

B型吸尘器300只,A型吸尘器500只,其金属费用305,820元。

由于开工不足,公司决定再次生产C型吸尘器,售价为800元/只,数量不超过100只。

技术工人可以加班,费用15元/小时。

表2线性规划模型变量

BUYAIU

购买铝

BUYST1

购买高碳钢

BUYST2

购买低碳钢

PRODG1

B一型

PRODG2

B二型

PRODI1

A一型

PRODI2

A二型

MUNICI

轻型除尘器

OVERTM

加班小时

RHS

右边项

成本

高碳钢

低碳钢

B型定货

A型定货

技术工

熟练工

生产线

轻型除尘器

107

–1

0

0

0

0

0

0

0

0

38

0

–1

0

0

0

0

0

0

0

29

0

0

–1

0

0

0

0

0

0

0

0

10

0

1

0

7

8

8

0

0

6

0

9

1

0

8

10

9

0

0

2

12

0

0

1

8

9

7

0

0

1

0

11

0

1

9

13

8

0

–800

2

4

0

0

0

5

7

7

1

15

0

0

0

0

0

–1

0

0

0

=

=

0

0

0

500

300

6400

9600

7000

100

线性规划模型如上表,其中有9个变量,前三种为三种金属的购买量,后五个是五种不同吸尘器的生产数量;最后一个是熟练工加班小时数。

模型中有九个约束,前三个约束表明购买的三种金属的数量至少应满足生产需求,后两个表明生产A型和B型吸尘器的数量要满足定货;再后三个是熟练工、技术工和生产线生产能力的限制,最后一个表明最多可以生产100个C型吸尘器.

问题1:

下面各量哪些在目标函数中考虑到了()

a)金属的费用

b)直线劳动成本

c)加班劳动成本

d)管理费用

问题2:

为什么在目标函数中没有考虑A型和B型吸尘器的收益,但却考虑了C型吸尘

器的收益?

问题3:

C型吸尘器的数量为多少,其耗费各种金属的数量是多少?

在最优生产计划中,生产了___100___台C型吸尘器,用高碳钢__400____公斤;用低碳钢___0____公斤;铝__20____公斤。

问题4:

技术工人加班费用是15元/小时,当这个费用变为多大时最优计划将改变?

问题5:

如果不允许加班,那么总费用将如何变化?

答:

总费用将:

________增加________元

________减少________元

________不能确切得知。

问题6:

若熟练工的生产能力增加1小时,将会产生什么影响?

问题7:

若B型吸尘器的定货增加一台,那么它的贡献是什么?

问题8:

为使C型吸尘器市场扩大25台,公司愿意再支付多少?

问题9:

打开100个C型吸尘器的市场需要10,000元的广告推销费,这费用合理吗?

问题10:

另外一个市场计划是以4000元推销费打开60个C型吸尘器的市场,其单价仍为800元/台,那么这个计划是否好于原计划?

农民生产问题

一农户拥有土地100亩和资金30,000元,在冬半年(从10月中到第二年4月中),农户有劳力3,500工时,在夏半年有劳力4,000工时,如果有剩余劳动,那么农户就安排其到邻居帮工。

在冬半年,工钱是4.00元/小时,夏半年是4.50元/小时。

农户可以通过种植三种作物和饲养奶牛和蛋鸡来获得现金收入。

作物不需投资,而每买一头奶牛需支付900元,一只蛋鸡7元。

每饲养一头奶牛需用地1.5亩,在冬半年需劳力100工时,在夏半年需50工时,每头奶牛每年的纯现金收入为800元。

相应地,养鸡不需土地,一只在冬半年需0.6工时,在夏半年又需0.3工时,每只鸡的年净收入为5万元。

农户的鸡舍最大可容鸡3,000只,牛圈最多可养牛32头。

三种作物每亩所需工时及每年收入如下:

黄豆

玉米

燕麦

冬半年工时

20

35

10

夏半年工时

50

75

40

年净收入(元/亩)

375

550

250

农户应养多少奶牛,多少蛋鸡,以及三种作物各种多少亩才能使年净收入最多?

建立线性规划模型,变量如下:

(a)SOY,CORN,OATS分别代表种植黄豆、玉米和燕麦的亩数。

(b)COWS,HENS分别代表饲养奶牛和蛋鸡的数量。

(c)XSSUM,SXWIN分别代表夏半年和冬半年的剩余工时。

线性规划模型如下:

SOY

CORN

OATS

CONS

HENS

XSSUM

XSWW

目标函数

夏半年工时

冬半年工时

资金限制

土地限制

鸡舍限制

牛圈限制

375

50

20

1

550

75

35

1

250

40

10

1

800

50

100

900

1.5

1

5

0.3

0.6

7

1

4.50

1

4.00

1

=

=

4,000

3,500

30,000

100

3,000

32

问题1:

在最优计划中,下面各量各为多少?

(a)种植黄豆(b)养鸡

(c)给邻家帮工,冬半年;夏半年。

(d)种植玉米(e)种植燕麦

(f)饲养奶牛(g)年净收入

问题2:

在最优计划中,使用资金占原有资金的百分比是多少?

问题3:

(a)在最优计划中,用来养牛的土地是多少亩?

(b)养奶牛所花费的资金是多少?

问题4:

冬半年最后一个工时的边际收益是多少?

问题5:

(a)若夏半年劳力减少500工时,那么年总收入将:

增加____________减少____________不变____________

问题将不可行____________问题将无界____________无法判断____________

(b)若夏半年劳力增加1500工时,那么年总收入的变化是什么?

问题6:

若农户可从当地银行以5%的年利率借款,至多不超过10000元,那么应借多少?

问题7:

(a)如果由于国家的严重饥荒,农户必须种植玉米或燕麦,而且只种一种,那么农

户应种植哪种作物?

(b)如果种植30亩上面选定作物,那么将使:

年收入增加____________年收入减少____________

不改变年收入__________不能确定__________________

问题8:

一个地方牛奶场愿出5.00元/小时雇用临时帮工,那么农户应该:

()

A.在夏半年帮工B在冬半年帮工C.不帮工D.不能确定

问题9:

假设由于黄豆的大丰收,黄豆价格下降5%因此:

年收入将增加____________年收入至多增加____________

年收入将降低____________年收入至多降低____________

问题10:

假设有人愿在冬半年帮工,工钱为5.20元/小时问农户是否使用帮工?

如果使用帮工,年收入将增加多少?

(假设中使用帮工为100小时)

问题11:

(a)计算出农户应养5.75头奶牛,显然零头牛是不可能的,为了予以纠正,应该:

A.一头牛也不养B.养5头牛C.养6头牛D.不能确定

(b)年收入将:

每年增加____________每年减少____________

保持不变____________不能确定____________

计算机输出结果

MAX375SOY+550CORN+250OATS+800CONS+5HENS+4.5XSSUM

+4XSWW

SUBJECTTO

2)50SOY+75CORN+40OATS+50CONS+0.3HENS+XSSUM

=4000

3)20SOY+35CORN+10OATS+100CONS+0.6HENS+XSWW

=3500

4)900CONS+7HENS<=30000

5)SOY+CORN+OATS+1.5CONS<=100

6)HENS<=3000

7)CONS<=32

END

LPOPTIMUMFOUNDATSTEP7

OBJECTIVEFUNCTIONVALUE

1)40693.750

VARIABLEVALUEREDUCEDCOST

SOY56.2500

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

当前位置:首页 > 医药卫生 > 基础医学

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

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