lingo解决线性规划问题的程序(经典)教程分析.docVIP

lingo解决线性规划问题的程序(经典)教程分析.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lingo12软件培训教案 Lingo主要用于求解线性规划,整数规划,非线性规划,V10以上版本可编程。 例1 一个简单的线性规划问题 !exam_1.lg4 源程序 max = 2*x+3*y; [st_1] x+y350; [st_2] x100; 2*x+y600; !决策变量黙认为非负; 相当于=; 大小写不区分 当规划问题的规模很大时,需要定义数组(或称为矩阵),以及下标集(set) 下面定义下标集和对应数组的三种方法,效果相同::r1 = r2 = r3, a = b = c. sets: r1/1..3/:a; r2 : b; r3 : c; link2(r1,r2): x; link3(r1,r2,r3): y; endsets data: ALPHA = 0.7; a=11 12 13 ; r2 = 1..3; b = 11 12 13; c = 11 12 13; enddata 运输问题 计算6 个发点8 个收点的最小费用运输问题。产销单位运价如下表。 B1 B2 B3 B4 B5 B6 B7 B8 产量 A1 6 2 6 7 4 2 5 9 60 A2 4 9 5 3 8 5 8 2 55 A3 5 2 1 9 7 4 3 3 51 A4 7 6 7 3 9 2 7 1 43 A5 2 3 9 5 7 2 6 5 41 A6 5 5 2 2 8 1 4 3 52 销量 35 37 22 32 41 32 43 38 解: 设决策变量 = 第i个发点到第j个售点的运货量,i=1,2,…m; j=1,2,…n; 记为 =第i个发点到第j个售点的运输单价,i =1,2,…m; j=1,2,…n 记 =第i个发点的产量, i=1,2,…m; 记 =第j个售点的需求量, j=1,2,…n. 其中,m = 6; n = 8. 设目标函数为总成本,约束条件为(1)产量约束;(2)需求约束。 于是形成如下规划问题: 把上述程序翻译成LINGO语言,编制程序如下: !exam_2.lg4 源程序 model: !6发点8收点运输问题; sets: rows/1..6/: s; !发点的产量限制; cols/1..8/: d; !售点的需求限制; links(rows,cols): c, x; !运输单价,决策运输量; endsets !-------------------------------------; data: s = 60,55,51,43,41,52; d = 35 37 22 32 41 32 43 38; c = 6 2 6 7 4 2 9 5 4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3; enddata !------------------------------------; min = @sum(links: c*x); !目标函数=运输总成本; @for(rows(i): @sum(cols(j): x(i,j))=s(i) ); ! 产量约束; @for(cols(j): @sum(rows(i): x(i,j))=d(j) ); !需求约束; end 例3 把上述程序进行改进,引进运行子模块和打印运算结果的语句: !exam_3.lg4 源程序 model: !6发点8收点运输问题; sets: rows/1..6/: s; !发点的产量限制; cols/1..8/: d; !售点的需求限制; links(rows,cols): c, x; !运输单价,决策运输量; endsets !==================================; data: s = 60,55,51,43,41,52; d = 35 37 22 32 41 32 43 38; c = 6 2 6 7 4 2 9 5 4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3; enddata !==================================; submodel transfer: min = cost; ! 目标

文档评论(0)

南非的朋友 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档