资源描述
LINGO,教 程,LINGO,教 程,*,LINGO,软件与外部文件的接口,通过文件输入输出数据,通过文件输入输出数据可以将,LINGO,程序和程序处理的数据分离开来。,“,程序和数据的分离,”,是结构化程序设计、面向对象编程的基本要求。,实际问题通常需要处理大规模的实际数据,而这些数据通常都是在其它应用系统中生成的,或者已经存放在其它应用系统中的某个文件或数据库中。,LINGO,计算的结果需要以文件方式提供给其它应用系统使用。,通过,WINDOWS,剪贴板传递数据,通过文本文件传递数据,通过电子表格文件传递数据,LINGO,命令脚本文件,内容提要,1.,通过,WINDOWS,剪贴板传递数据,粘贴命令,(,Edit|Paste,),特殊粘贴命令(,Edit|Paste Special,),粘贴命令,(,Edit|Paste,),将,WORD,文件或其他外部文件中的数据拷贝到,Windows,剪贴板,在,LINGO,程序中直接粘贴到需要的地方,步骤,:,注意,:,粘贴的数据保持了,WORD,表格的风格,且,LINGO,能够正常识别甚至编辑其字体等。,由于,LINGO,对集合的属性是按列赋值的,所以在外部文件中的数据与实际需要复制的数据可能发生行列颠倒的情况,需进行调整。,类似的方法也可以将,LINGO,程序中的数据复制到其他外部文件中。,特殊粘贴命令(,Edit|Paste Special,),选择特殊粘贴命令,则会出现,“,选择性粘贴,”,对话框,请你选择粘贴格式。,粘贴一个,WORD,对象,双击时可以打开,WORD,进行编辑,将剪贴板中的内容以图形格式插入到,LINGO,模型中,效果与直接使用,“,Ctrl+V,”,的效果是一样的,粘贴的是格式化的文本,选择了,“,显示为图标,”,选项,则只显示一个,“,文档,”,图标而不显示剪贴板中的具体内容;,选择,“,粘贴链接,”,时会建立与原文件的链接,当数据文件改变时,,LINGO,中这部分的内容也会随之改变,粘贴纯文本文件,不保留文本的格式信息,特殊粘贴命令(,Edit|Paste Special,),在这种粘贴方式中,只有选择,“,多信息文本(,RTF,),”,或,“,未格式化文本,”,,才能正确输入数据;,其他两种方式:,WORD,文档和图形,,LINGO,在运行时完全将它们忽略掉;,选择,“,粘贴链接,”,建立链接关系后,可以随时用,“,EDIT|LINKS,”,命令修改这个连接的属性。,如果数据不是放在,WORD,文件,而是,EXCEL,电子表格文件或者其他应用程序的文件,操作和结果与上面介绍的过程完全类似。,注意,:,2.,通过文本文件传递数据,通过文本文件输入数据,FILE(filename),通过文本文件输出数据,TEXT(filename),通过文本文件输入数据,FILE,函数通常可以在集合段和数据段使用,但不允许嵌套使用。,调用格式:,FILE(filename),filename,为存放数据的文件名(可以包含完整的路径名,或表示在当前目录下寻找这个文件),数据文件中记录之间必须用,“,”,分开,例:,MODEL:,SETS:,MYSET/,FILE(myfile.ldt),/:,FILE(myfile.ldt),;,ENDSETS,MIN=SUM(MYSET(I):,ORDERED(I)*COST(I);,FOR(MYSET(I):,ORDERED(I)NEED(I);,ORDERED(I)NEED(I);,CON2 ORDERED(I)=REQUIRED(J);,FOR(DAYS:GIN(START);,END,GO !,下面求解分店,AAA,的决策问题,ALTER ALL AAABBB !,下面转向求解分店,BBB,的决策问题,GO,ALTER ALL BBBCCC !,下面转向求解分店,CCC,的决策问题,GO,SET TERSEO 0 !,恢复参数(恢复以正常方式显示解答结果),命令之间的说明语句不需要以,“,;,”,结束;但在程序段中(即位于,“,MODEL,:,”,和,“,END”,之间)的说明语句必须以,“,;,”,结束,否则会因为读入的程序不符合,LINGO,语法而出错。,输出结果在三个文件,“,AAA.TXT”,、,“,BBB.TXT”,、,“,CCC.TXT”,中,例如,,AAA.TXT,中的内容是:,员 工 聘 用 计 划 表,-,MON(,星期,1):0,TUE(,星期,2):4,WED(,星期,3):40,THU(,星期,4):3,FRI(,星期,5):40,SAT(,星期,6):3,SUN(,星期,7):4,-,合计,:94,建立好上面的文件后,用,“,File|Take Commands”,命令打开这个脚本文件,运行时命令窗口将显示一些脚本文件输入和求解模型相关的信息,
展开阅读全文