Locally Infeasible(局部不可行) 8
Cutoff(目标函数达到了 Cutoff 水平) 9
Numeric Error (约束中遇到了无定义的数学操作) @TEXT( ['filename'])
用于数据段中将解答结果送到文本文件 filename 中。当省略 filename 时,结果送到标准 的输出设备(通常就是屏幕)。 8)其他函数
@IF( logical_condition, true_result, false_result)
当逻辑表达式 logical_condition 的结果为真时,返回 true_result,否则返回 false_result。例如@IF( X #LT# 100, 20, 15)语句,当 X<100 时,返回 20,否则返回 15。
@WARN('text', logical_condition )
当如果逻辑表达式 logical_condition 的结果为真,显示'text'信息。 @USER( user_determined_arguments)
The user can supply this in an external DLL or object code file.
该函数是允许用户自己编写的函数(DLL 或 OBJ 文件),该用户函数可能应当用 C 或 FORTRAN
等其他语言编写并编译,返回值为用户函数计算的结果。从编程角度来看,@USER 函数包含两个参
数:第一个用于指定参数个数,第二个用于指定参数向量;而在 LINGO 中调用@USER 时则直接指
定对应的参数(类似于 C 语言中的 main(argc, argv)的编程和运行方式)。
3.6 LINGO 的主要菜单命令
从前面的各个图形窗口中我们已经看到,LINDO 有 5 个主菜单: File Edit LINGO Window Help
与上一章介绍的 LINDO 主菜单比较,LINGO 相当于合并了 LINDO 中的 Solve(求解)菜单和
REPORTS(报告)菜单。这些菜单的用法都是和 WINDOWS 下其他应用程序的标准用法类似的,下
面只对前 3 个主菜单中与 LINDO 不同而有一定 LINGO 特色的主要命令进行简要介绍。 1)文件主菜单 File|Import LINDO File
23
Page 24 将以 LINDO 文件格式保存的模型转换为 LINGO 格式的模型(例子见本章 3.2 节)。 File|User Database Info
输入用户使用的数据库需要验证的用户名(User ID)和密码(Password)。 2)编辑(Edit)主菜单
Edit/Paste 和 Edit/Paste Special …
将 WINDOWS 剪贴板中的内容粘贴到当前光标处。与通常的粘贴命令―Edit/Paste‖一样, 它仅用于剪贴板中的内容是文本的情形,而―Edit/Paste Special …‖可以用于剪贴板中的内 容不是文本的情形,如可以插入其它应用程序中生成的对象(Object)或对象的链接(Link)。 例如,编程时将代码与数据分离是一种很好的习惯,所以 LINGO 模型中可能会在数据段用到从其
它应用程序中生成的数据对象(如 EXCEL 电子表格数据),这时用―Edit/Paste Special …‖ 是很方便的。 例如,
Edit|Match Parenthesis 匹配模型中的括号。 Edit|Paste Function
选择 LINDO 的某个函数(见 3.5 节),粘贴到当前光标处。 Edit|Select Font
先用鼠标选择一段文本,然后选择 Edit|Select Font 菜单命令,则出现一个对话框(如图), 你可以通过这个对话框控制显示字体、字形、大小、颜色、效果等。注意:这些显示特性只有当文
件保存为 LINGO 格式(*.LG4)的文件时才能保存下来,否则下次打开文件时将不会还原这次你
修改的显示特性。此外,如果―按语法显示色彩‖选项是有效的(参见 LINGO|Options),在模 型窗口中将不能通过 Edit|Select Font 菜单命令控制文本的颜色。 Edit|Insert New Object
24
Page 25 插入其它应用程序中生成的整个对象或对象的链接。前面介绍过的―Edit/Paste Special …‖ 与此类似,但一般用于粘贴某个外部对象的一部分,所以与此有所不同。 Edit|Links
在模型窗口中选择一个外部对象的链接,然后选择 Edit|Links 命令,则弹出一个对话框, 可以修改这个对象的属性。 Edit|Object Properties
在模型窗口中选择一个链接或嵌入对象(OLE),然后选择 Edit|Object Properties 命令, 则弹出一个对话框,可以修改这个对象的属性。 3)LINGO 主菜单
该主菜单下的多数命令与 LINDO 下相同,或者我们已经在前面结合例子具体地介绍过了。我 们这里只介绍 LINGO|Generate、LINGO|Picture 和 LINGO|Options 命令。 LINGO|Generate 和 LINGO|Picture
LINGO|Generate 和 LINGO|Picture 命令都是在模型窗口下才能使用,它们的功能是按照 线性形式显示目标函数和约束(只有非零项会显示出来)。如果有非线性变量项,对应的非线性变
量前的系数将以问号(―?‖)显示。
LINGO|Generate 命令的结果是以代数表达式的形式给出的(参见本章 3.3.1 节的例子),
按照是否在屏幕上显示结果的要求,你可以选择―Display model‖和―Don’t display model‖ 两个子菜单供选择。在屏幕上不显示时,运行该命令的目的可能仅仅是为了以后选择适当的求解程 序使用。
LINGO|Picture 命令的结果是按照矩阵形式以图形方式给出的。例如,对于本章 3.3.2 节 的选址问题(参见图 13),该命令的结果如图??。该显示中非线性项的系数以黑色显示为―?‖, 线性项的系数为正时显示为兰色,为负则为红色(本例没有红色)。在这个图形上单击鼠标右键, 可以出现一个相关联的显示控制菜单(如图中写有―Zoom In‖的菜单所示),这个菜单可以控制 图形显示的内容的放大(Zoom In)、缩小(Zoom Out)、显示全部内容(View All),也可 以控制该窗口是否显示行名(Row Names)、变量名(Var Names)、滚动条(Scroll Bars)。
25
Page 26 图?? 图
LINGO|Options 命令
该命令将打开一个含有 7 个选项卡的窗口(如图??),你可以通过它修改 LINGO 系统的各 种控制参数和选项。修改完以后,你如果单击―Apply(应用)‖按钮,则新的设置马上生效;如 果单击―OK(确定)‖按钮,则新的设置马上生效,并且同时关闭该窗口。如果单击―Save(保
26
Page 27 存)‖按钮,则将当前设置变为默认设置,下次启动 LINGO 时这些设置仍然有效。单击―Default (缺省值)‖按钮,则恢复 LINGO 系统定义的原始默认设置(缺省设置)。 1)Interface(界面)选项卡
可以控制的参数和选项的含义见表??。 选项组 选项 含义 General (一般选项) Errors In Dialogs(错 误信息对话框)
如果选择该选项,求解程序遇到错误时将打开一个对话 框显示错误,你关闭该对话框后程序才会继续执行;否 则,错误信息将在报告窗口显示,程序仍会继续执行 Splash Screen (弹出屏幕)
如果选择该选项,则 LINGO 每次启动时会在屏幕上弹 出一个对话框,显示 LINGO 的版本和版权信息;否则 不弹出 Status Bar (状态栏)
如果选择该选项,则 LINGO 系统在主窗口最下面一行
显示状态栏;否则不显示 Status Window (状态窗口)
如果选择该选项,则 LINGO 系统每次运行
LINGO|Solve 命令时会在屏幕上弹出状态窗口;否则 不弹出 Terse Output (简洁输出)
如果选择该选项,则 LINGO 系统对求解结果报告等将 以简洁形式输出;否则以详细形式输出 Toolbar (工具栏)
如果选择该选项,则显示工具栏;否则不显示 Solution Cutoff (解的截断)
小于等于这个值的解将报告为―0‖(缺省值是 10
-9
)
File Format (文件格式) lg4 (extended) (lg4,扩展格式)
模型文件的缺省保存格式是 lg4 格式(这是一种二进 制文件,只有 LINGO 能读出) lng (text only) (lng,纯文本格式)
模型文件的缺省保存格式是 lng 格式(纯文本) Syntax Coloring (语法配色) Line limit (行数限制)
语法配色的行数限制(缺省为 1000)。LINGO 模型窗 口中将 LINGO 关键此显示为兰色,注释为绿色,其他 为黑色,超过该行数限制后则不再区分颜色。特别地, 设置行数限制为 0 时,整个文件不再区分颜色。 Delay (延迟)
设置语法配色的延迟时间(秒,缺省为 0,从最后一次 击键算起)。 Paren Match (括号匹配)
如果选择该选项,则模型中当前光标所在处的括号及其 相匹配的括号将以红色显示;否则不使用该功能 Command
Window (命令窗口) Send Reports to Command Window (报告发送到命令窗口)
如果选择该选项,则输出信息会发送到命令窗口;否则 不使用该功能 Echo Input (输入信息反馈)
如果选择该选项,则用 File|Take Command 命令执 行命令脚本文件时,处理信息会发送到命令窗口;否则 不使用该功能 Line Count Limits (行数限制)
命令窗口能显示的行数的最大值为 Maximum(缺省为 800);如果要显示的内容超过这个值,每次从命令窗 口滚动删除的最小行数为 Minimum(缺省为 400) Page Size Limit
命令窗口每次显示的行数的最大值为 Length(缺省为
27
Page 28 (页面大小限制)
没有限制),显示这么多行后会暂停,等待用户响应; 每行最大字符数为 Width(缺省为 74,可以设定为 64-200 之间),多余的字符将被截断 表??
2)General Soler(通用求解程序)选项卡
界面见图??。可以控制的参数和选项的含义见表??。 图?? 选项组 选项 含义
Generator Memory Limit (MB) 矩阵生成器的内存限制(兆)
缺省值为 32M,矩阵生成器使用的内存超过该限制,LINGO 将报告\ Runtime Limits 运行限制 Iterations 迭代次数
求解一个模型时,允许的最大迭代次数(缺省值为无限) Time (sec)