第一范文网 - 专业文章范例文档资料分享平台

第10章 Lingo软件包及其应用

来源:用户分享 时间:2025/5/21 1:29:57 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

b=360 2000 300; A=20 30 30 25 30 35; enddata

执行后得到结果:

Global optimal solution found at iteration: 1 Objective value: 128.5714

Variable Value Reduced Cost LIRUN( 1) 11.00000 0.000000 LIRUN( 2) 15.00000 0.000000 X( 1) 0.000000 1.857143 X( 2) 8.571429 0.000000 B( 1) 360.0000 0.000000 B( 2) 2000.000 0.000000 B( 3) 300.0000 0.000000 A( 1, 1) 20.00000 0.000000 A( 1, 2) 30.00000 0.000000 A( 2, 1) 30.00000 0.000000 A( 2, 2) 25.00000 0.000000 A( 3, 1) 30.00000 0.000000 A( 3, 2) 35.00000 0.000000

Row Slack or Surplus Dual Price 1 128.5714 1.000000 SUPPLY( 1) 102.8571 0.000000 SUPPLY( 2) 1785.714 0.000000 SUPPLY( 3) 0.000000 0.4285714

可见,Lingo软件包不光求出了最优解,而且还给出了剩余变量(slack)的值,以及对偶问题(Dual)的解。尤其是,当系数矩阵A很大时,用Lingo软件包编写简单的程序,就可调用外部A的数据,十分方便。

例10-11 长500Cm的条材,截长分别为98Cm、78Cm的毛坯,要98Cm的1万根,78Cm的2万根。怎样截,材料最省?

解:截法 C1:截98Cm的0根、78Cm的6根、废料32Cm;

C2:98Cm的 1根、78Cm的5根、废料12Cm; C3:98Cm 的2根、78Cm的3根、废料70Cm; C4:98Cm 的3根、78Cm的2根、废料50Cm; C5:98Cm 的4根、78Cm的1根、废料30Cm; C6:98Cm的5根、78Cm的0根、废料10Cm;

假设xj根条材按Cj法截,则,数学模型为:

13

minf?x1?x2?x3?x4?x5?x6?0*x1?x2?2x3?3x4?4x5?5x6?10000, ?S.T.?6x1?5x2?3x3?2x4?x5?0*x6?20000,?x?0,Integers?j此模型中有一个2维向量b?(10000,20000),一个6维向量x,以及一个2×6的系数矩阵A。首先将系数矩阵A的数据作为Excel数据存盘,目录为: C:\\Lingo8\\gangguan.xls

注意:数据范围是A1到F2。

然后,在Lingo软件包中,输入下列程序: model: sets:

set1/1..2/:b; set2/1..6/:x;

link(set1,set2):A; endsets

min=@sum(set2(i):x(i));

@for(set1(i):@sum(link(i,j):A(i,j)*x(j))>b(i)); @for(set2(i):@gin(x(i))); data:

b=10000 20000;

A=@ole('c:\\lingo8\\gangguan.xls','A1:F2'); enddata

其中@for(set2(i):@gin(x(i)));表示限定变量x(i)都是整数变量;

14

A=@ole('c:\\lingo8\\gangguan.xls','A1:F2');表示调用外部数据A,并且指明了数据的取值范围,从A1到F2。

执行后得到下列结果:

Global optimal solution found at iteration: 4 Objective value: 5200.000

Variable Value Reduced Cost B( 1) 10000.00 0.000000 B( 2) 20000.00 0.000000 X( 1) 0.000000 1.000000 X( 2) 4000.000 1.000000 X( 3) 0.000000 1.000000 X( 4) 0.000000 1.000000 X( 5) 0.000000 1.000000 X( 6) 1200.000 1.000000 A( 1, 1) 0.000000 0.000000 A( 1, 2) 1.000000 0.000000 A( 1, 3) 2.000000 0.000000 A( 1, 4) 3.000000 0.000000 A( 1, 5) 4.000000 0.000000 A( 1, 6) 5.000000 0.000000 A( 2, 1) 6.000000 0.000000 A( 2, 2) 5.000000 0.000000 A( 2, 3) 3.000000 0.000000 A( 2, 4) 2.000000 0.000000 A( 2, 5) 1.000000 0.000000 A( 2, 6) 0.000000 0.000000 Row Slack or Surplus Dual Price 1 5200.000 -1.000000 2 0.000000 0.000000 3 0.000000 0.000000 即,最优解为:fmin = 5200根,,x1 =0,x2=4000根,x3 =0, x4 =0, x5 = 0,x6=1200根。

例10-12 有两个农场A和B,上级规定它们每月分别向三个大学食堂送米65吨、110吨,这三个大学食堂每月需米分别为50吨、80吨、45吨。A农场离大学分别为15Km、10Km、11Km,B农场离大学分别为14Km、18Km、25Km。问如何调度两个农场的大米,使总运输量(吨公里)最小? 大学1:D1 大学2:D2 大学3:D3 农场生产量 农场A 15Km 10Km 11Km 65吨 农场B 14Km 18Km 25Km 110吨 大学需要量 50吨 80吨 45吨 合计:175吨

15

解:求最优调度方案

设A农场为D1、D2、D3分别送米x11、x12、x13吨;B农场为D1、D2、D3分别送米x21、x22、x23吨;得到模型如下:

minf?15x11?10x12?11x13?14x21?18x22?25x23?x11?x12?x13?65?x21?x22?x23?110??x11?x21?50?s.t.?x12?x22?80??x13?x23?45??xij?0?

在这个模型中,有一个2维向量a=(65,110),一个3维向量b=(50,80,45),有2

个2×3的矩阵:距离矩阵D和调度矩阵X。 在Lingo软件包中输入如下程序: model: sets:

set1/1..2/:a; set2/1..3/:b;

link(set1,set2):D,X; endsets

min=@sum(link(i,j):D(i,j)*x(i,j));

@for(set1(i):[supply_con]@sum(link(i,j):x(i,j))b(j)); data:

a=65 110; b=50 80 45; D=15 10 11 14 18 25; enddata

执行后得到结果为:

Global optimal solution found at iteration: 5 Objective value: 2475.000

Variable Value Reduced Cost A( 1) 65.00000 0.000000 A( 2) 110.0000 0.000000 B( 1) 50.00000 0.000000 B( 2) 80.00000 0.000000 B( 3) 45.00000 0.000000

16

搜索更多关于: 第10章 Lingo软件包及其应用 的文档
第10章 Lingo软件包及其应用.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7j42g22cjq9d31q9oede_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top