欢迎来到天天文库
浏览记录
ID:44469087
大小:284.50 KB
页数:15页
时间:2019-10-22
《优化建模与LINGO第04章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、通过文件输入输出数据通过文件输入输出数据可以将LINGO程序和程序处理的数据分离开来。“程序和数据的分离”是结构化程序设计、面向对象编程的基本要求。实际问题通常需要处理大规模的实际数据,而这些数据通常都是在其它应用系统中生成的,或者已经存放在其它应用系统中的某个文件或数据库中。LINGO计算的结果需要以文件方式提供给其它应用系统使用。通过WINDOWS剪贴板传递数据通过文本文件传递数据通过电子表格文件传递数据LINGO命令脚本文件内容提要1.通过WINDOWS剪贴板传递数据粘贴命令(Edit
2、Paste)特殊粘贴命令(Ed
3、it
4、PasteSpecial…)粘贴命令(Edit
5、Paste)将WORD文件或其他外部文件中的数据拷贝到Windows剪贴板在LINGO程序中直接粘贴到需要的地方步骤:注意:粘贴的数据保持了WORD表格的风格,且LINGO能够正常识别甚至编辑其字体等。由于LINGO对集合的属性是按列赋值的,所以在外部文件中的数据与实际需要复制的数据可能发生行列颠倒的情况,需进行调整。类似的方法也可以将LINGO程序中的数据复制到其他外部文件中。特殊粘贴命令(Edit
6、PasteSpecial…)选择特殊粘贴命令,则会出现“选择性粘贴”
7、对话框,请你选择粘贴格式。粘贴一个WORD对象,双击时可以打开WORD进行编辑将剪贴板中的内容以图形格式插入到LINGO模型中效果与直接使用“Ctrl+V”的效果是一样的,粘贴的是格式化的文本选择了“显示为图标”选项,则只显示一个“文档”图标而不显示剪贴板中的具体内容;选择“粘贴链接”时会建立与原文件的链接,当数据文件改变时,LINGO中这部分的内容也会随之改变粘贴纯文本文件,不保留文本的格式信息特殊粘贴命令(Edit
8、PasteSpecial…)在这种粘贴方式中,只有选择“多信息文本(RTF)”或“未格式化文本”,才能正
9、确输入数据;其他两种方式:WORD文档和图形,LINGO在运行时完全将它们忽略掉;选择“粘贴链接”建立链接关系后,可以随时用“EDIT
10、LINKS…”命令修改这个连接的属性。如果数据不是放在WORD文件,而是EXCEL电子表格文件或者其他应用程序的文件,操作和结果与上面介绍的过程完全类似。注意:2.通过文本文件传递数据通过文本文件输入数据@FILE(filename)通过文本文件输出数据@TEXT(['filename'])通过文本文件输入数据@FILE函数通常可以在集合段和数据段使用,但不允许嵌套使用。调用格式:@FIL
11、E(filename)filename为存放数据的文件名(可以包含完整的路径名,或表示在当前目录下寻找这个文件)数据文件中记录之间必须用“~”分开通过文本文件输出数据@TEXT函数通常只在数据段使用调用格式:@TEXT(['filename'])它用于数据段中将解答结果送到文本文件filename中,当省略filename时,结果送到标准的输出设备(通常就是屏幕)Filename可以使用相对路径或绝对路径,若文件已经存在,则覆盖原文件3.通过电子表格文件传递数据在LINGO中使用电子表格文件的数据将LINGO模型嵌入、链接
12、到电子表格文件中在LINGO中使用电子表格文件的数据实际应用中,可能有大量数据是存放在各种电子表格中的(如EXCEL表格)。LINGO系统与EXCEL文件传递数据的函数的一般用法是通过@OLE函数。调用格式:@OLE(spreadsheet_file[,range_name_list])输入数据:“属性(或变量)=@OLE(...)”输出数据:“@OLE(...)=属性(或变量)”电子表格文件名数据的单元范围4.LINGO命令脚本文件LINGO命令脚本文件是一个普通的文本文件,但是文件中的内容是由一系列LINGO命令构成的
13、命令序列。使用命令脚本文件,你可以同时运行一系列的LINGO批处理命令。命令脚本文件可用任何文本编辑器生成,也可以用LINGO新建文件(*.ltf文件)进行编辑。例如:一家快餐公司有多家分店,每家分店都要确定每天所雇用的服务员的人数。每家分店的优化模型的结构本质上是一样的,只是具体数据不同。我们可以把每个分店的人员需求数据存入各自的一个数据文件中,并建立一个统一的程序(命令脚本文件)逐个调用这些数据进行求解,输出结果。分店AAA周一到周四每天至少需要50人,周五至少80人,周六和周日至少90人;分店BBB周一到周四每天至少
14、需要80人,周五至少120人,周六和周日至少140人;分店CCC周一到周四每天至少需要90人,周五至少120人,周六和周日至少150人。3家分店(分别表示为AAA,BBB,CCC)数据文件AAA.LDT50505050809090数据文件BBB.LDT80808080120140140数据文件CCC.L
此文档下载收益归作者所有