- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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
您可能关注的文档
最近下载
- 高中语文高考复习语言文字运用新题练习(共六大题,附参考答案和解析).pdf VIP
- 汽车式起重机吊装安全专项施工方案.pdf VIP
- 5eDnD_凡戴尔的失落矿坑_模组_中译(二校).pdf VIP
- 高考诗歌的比较鉴赏公开课省名师优质课赛课获奖课件市赛课一等奖课件.pptx VIP
- 甘肃省公路工程试验检测收费指导价格(最新).xls VIP
- 发生带状疱疹后神经痛的影响因素的logistic模型分析.pdf VIP
- 2023年建筑防火通用规范考试试题.pdf VIP
- 混凝土结构工程测试题(附参考答案).docx VIP
- 2025党校入党积极分子发展对象考试题库(含答案).docx VIP
- 1.党校入党积极分子发展对象培训考试题库含答案(完整版).pdf VIP
文档评论(0)