Lingo与外部文件之间的数据传递.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LINGO与外部文件之间的数据传递 一、通过Windows剪贴板传递数据 有时侯实际问题的数据在Word或Excel文件中(通常出现在表格中),在编写LINGO程序时可以通过剪贴板把表格连同数据传递到LINGO中。下面用实例来说明具体操作方法。 例:水资源分配问题。某水库可分配的水资源量为7个单位,分配给3个用户,各用户在分配一定单位水资源以后产生的效益如下表所示,求最优分配方案。 用户分配一定水资源量以后的效益 水资源量 1 2 3 4 5 6 7 用户1 5 15 40 80 90 95 100 用户2 5 15 40 60 70 73 75 用户3 4 26 40 45 50 51 53 解:用表示图所示的效益矩阵,引入决策矩阵表示水资源分配情况,其中 则目标函数是分配方案的总效益最大,约束条件有两条: 水资源总量7个单位; 每个用户得到的水资源数量只能是0到7共8个数字中的一个,即 于是,本问题的数学模型为: 要想通过Windows的剪贴板把数据传入LINGO程序的数据段,应当先在Word或Excel中用鼠标选中表格中的数据块,点击菜单中的复制,然后在LINGO中点击Edit菜单中的Paste,则数据连同表格一起出现在LINGO程序中,如下所示: model: sets: user/1..3/; wa/1..7/:sl; fp(user,wa):c,x; endsets data: c=5 15 40 80 90 95 100 5 15 40 60 70 73 75 4 26 40 45 50 51 53; !以上数据从Word中剪贴过来; sl=1 2 3 4 5 6 7; !水资源数量等级; enddata max=@sum(fp:c*x); !目标函数; @for(fp:@bin(x)); !0-1变量; @sum(fp(i,j):x(i,j)*sl(j))=7; !水资源总量为7; @for(user(i):@sum(fp(i,j):x(i,j))=1); !每个用户最多得到一种水资源数量等级; end 程序运行结果: 二、LINGO 与文本文件之间的数据传递 1.从文本文件读取数据 函数@file的功能是从文件读取信息,使用格式为: @file(fname); 该语句通常放在数据段,其中参数fname是存放数据的文件名,文件名可以包含目录路径,如果不含目录路径,则默认在当前目录,该文件必须是纯文本文件,可以用Windows附件中的写字板或记事本创建,文件中可以包含不同的数据段,数据段之间用“~”分开,数据段内的多个数据之间用逗号或空格分开,数据结束时不要加“;”号,举例如下: model: !6发点8收点运输问题; sets: warehouses/ @file(1.txt) /: capacity; vendors/ @file(1.txt) /: demand; links(warehouses,vendors): cost, volume; endsets !目标函数; min=@sum(links: cost*volume); !需求约束; @for(vendors(J): @sum(warehouses(I): volume(I,J))=demand(J)); !产量约束; @for(warehouses(I): @sum(vendors(J): volume(I,J))=capacity(I)); ? !这里是数据; data: capacity = @file(1.txt) ; demand = @file(1.txt) ; cost = @file(1.txt) ; enddata end 模型的所有数据来自于1.txt文件。其内容如下: !warehouses成员; WH1 WH2 WH3 WH4 WH5 WH6 ~ !vendors成员; V1 V2 V3 V4 V5 V6 V7 V8 ~ !产量; 60 55 51 43 41 52 ~ !销量; 35 37 22 32 41 32 43 38 ~ !单位运输费用矩阵; 6 2 6 7 4 2 5 9 4 9 5 3 8 5 8 2 5

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档