LINGO使用教程 - 图文(8)

2019-08-31 21:03

Lingo使用教程

从窗口菜单中选用―Status Window‖命令或直接按Ctrl+2可以打开LINGO的求解状态窗口。

如果在编译期间没有表达错误,那么LINGO将调用适当的求解器来求解模型。当求解器开始运行时,它就会显示如下的求解器状态窗口(LINGO Solver Status)。

求解器状态窗口对于监视求解器的进展和模型大小是有用的。求解器状态窗口提供了一个中断求解器按钮(Interrupt Solver),点击它会导致LINGO在下一次迭代时停止求解。在绝大多数情况,LINGO能够交还和报告到目前为止的最好解。一个例外是线性规划模型,返回的解是无意义的,应该被忽略。但这并不是一个问题,因为线性规划通常求解速度很快,很少需要中断。注意:在中断求解器后,必须小心解释当前解,因为这些解可能根本就不最优解、可能也不是可行解或者对线性规划模型来说就是无价值的。

在中断求解器按钮的右边的是关闭按钮(Close)。点击它可以关闭求解器状态窗口,不过可在任何时间通过选择Windows|Status Window再重新打开。

在中断求解器按钮的右边的是标记为更新时间间隔(Update Interval)的域。LINGO将根据该域指示的时间(以秒为单位)为周期更新求解器状态窗口。可以随意设置该域,不过若设置为0将导致更长的求解时间——LINGO花费在更新的时间会超过求解模型的时间。

变量框(Variables)

Total显示当前模型的全部变量数,Nonlinear显示其中的非线性变量数,Integers显示其中的整数变量数。非线性变量是指它至少处于某一个约束中的非线性关系中。例如,对约束

X+Y=100;

X和Y都是线性变量。对约束 X*Y=100;

X和Y的关系是二次的,所以X和Y都是非线性变量。对约束 X*X+Y=100;

X是二次方是非线性的,Y虽与X构成二次关系,但与X*X这个整体是一次的,因此Y是线性变量。被计数变量不包括LINGO确定为定值的变量。例如:

X=1;

X+Y=3;

这里X是1,由此可得Y是2,所以X和Y都是定值,模型中的X和Y都用1和2代换掉。

约束(Constraints)框

Total显示当前模型扩展后的全部约束数,Nonlinear显示其中的非线性约束数。非线性约束是该约束中至少有一个非线性变量。如果一个约束中的所有变量都是定值,那么该约束就被剔除出模型(该约束为真),不计入约束总数中。

非零(Nonzeroes)框

Total显示当前模型中全部非零系数的数目,Nonlinear显示其中的非线性变量系数的数目。

内存使用(Generator Memory Used,单位:K)框

显示当前模型在内存中使用的内存量。可以通过使用LINGO|Options命令修改模型的最大内存使用量。

已运行时间(Elapsed Runtime)框

显示求解模型到目前所用的时间,它可能受到系统中别的应用程序的影响。

第36页(共59页)

Lingo使用教程

求解器状态(Solver Status)框

显示当前模型求解器的运行状态。域的含义如下。 域名 Model Class State Objective Infeasibility Iterations 含义 当前模型的类型(请参阅本书第1章) 当前解的状态 当前解的目标函数值 当前约束不满足的总量(不是不满足的约束的个数) 目前为止的迭代次数 可能的显示 LP,QP,ILP,IQP,PILP, PIQP,NLP,INLP,PINLP (以I开头表示IP,以PI开头表示PIP) \Optimum\\Optimum\\\(不可行), \(无界), \(中断), \(未确定) 实数 实数(即使该值=0,当前解也可能不可行,因为这个量中没有考虑用上下界形式给出的约束) 非负整数 扩展求解器状态(Extended Solver Status)框

显示LINGO中几个特殊求解器的运行状态。包括分枝定界求解器(Branch-and- Bound Solver)、全局求解器(Global Solver)和多初始点求解器(Multistart Solver)。该框中的域仅当这些求解器运行时才会更新。域的含义如下。

域名 含义 可能的显示 B-and-B (分枝定界法) Solver Type 使用的特殊求解程序 目前为止找到的可行解的最佳目标函数值 目标函数值的界 特殊求解程序当前运行步数: Steps 分枝数(对B-and-B程序); 子问题数(对Global程序); 初始点数(对Multistart程序) Active 有效步数 非负整数 非负整数 Global (全局最优求解) Multistart(用多个初始点求解) Best Obj Obj Bound 实数 实数 其余几个命令都是对窗口的排列,这里不作介绍,试一试便知。 5.5 帮助菜单(Help Menu) 1. 帮助主题(Help Menu)

从帮助菜单中选用―Help Menu‖可以打开LINGO的帮助文件。 2. 关于LINGO(About Lingo) 关于当前LINGO的版本信息等。

§6 LINGO的命令行命令

以下将按类型列出在LINGO命令行窗口中使用的命令,每条命令后都附有简要的描述说明。

在平台中,从的窗口菜单中选用―Command Window‖命令或直接按Ctrl+1可以打开

第37页(共59页)

Lingo使用教程

LINGO的命令行窗口,便可以在命令提示符―:‖后输入以下命令。

如果需要以下命令的详细描述说明,可以查阅LINGO的帮助。 1. 1. LINGO信息 Cat 显示所有命令类型

Com 按类型显示所用LINGO命令 Help 显示所需命令的简要帮助信息 Mem 显示内存变量的信息 2. 2. 输入(Input)

model 以命令行方式输入一个模型

take 执行一个文件的命令正本或从磁盘中读取某个模型文件 3. 3. 显示(Display) look 显示当前模型的内容 genl 产生LINGO兼容的模型 gen 生成并显示整个模型 hide 为模型设置密码保护

pause 暂停屏幕输出直至再次使用此命令 4. 4. 文件输出(File Ouput) div 将模型结果输出到文件 svrt 将模型结果输出到屏幕 save 将当前模型保存到文件 smps 将当前模型保存为MPS文件 5. 5. 求解模型(Solution) go 求解当前模型

solu 显示当前模型的求解结果 6. 6. 编辑模型(Problem Editing)

del 从当前模型中删除指定的某一行或某两行之间(包括这两行)的所有行 ext 在当前模型中添加几行

alt 用新字符串替换掉某一行中、或某两行之间的所有行中的旧字符串 7. 7. 退出系统(Quit) quit 退出LINGO系统

8. 8. 系统参数(System Parameters) page 以―行‖为单位设置每页长度 ter 以简略方式输出结果 ver 以详细方式输出结果

wid 以―字符‖为单位设置显示和输出宽度 set 重新设置默认参数

freeze 保存当前参数设置,以备下一次重新启动LINGO系统时还是这样的设置 time 显示本次系统的运行时间

这里详细说明SET指令。凡是用户能够控制的LINGO系统参数,SET命令都能够对它进行设置。SET命令的使用格式为:

SET parameter_name | parameter_index [ parameter_value ],

第38页(共59页)

Lingo使用教程

其中parameter_name是参数名,parameter_index是参数索引(编号),parameter _value是参数值。当不写出参数值时,则SET命令的功能是显示该参数当前的值。此外,―setdefault‖命令用于将所有参数恢复为系统的默认值(缺省值)。这些设置如果不用―freeze‖命令保存到配置文件lingo.cnf中,则退出LINGO系统后这些设置就无效了。 索引 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

参数名 ILFTOL FLFTOL INFTOL FNFTOL RELINT NOPTOL ITRSLW DERCMP ITRLTM TIMLIM OBJCTS MXMEMB CUTAPP ABSINT HEURIS HURDLE IPTOLA IPTOLR TIM2RL NODESL LENPAG LINLEN TERSEO STAWIN SPLASH OROUTE WNLINE WNTRIM 缺省值 简要说明 0.3e-5 0.1e-6 0.1e-2 0.1e-5 0.8e-5 0.2e-6 5 0 0 0 1 32 2 初始线性可行误差限 最终线性可行误差限 初始非线性可行误差限 最终非线性可行误差限 相对整性误差限 非线性规划(NLP)的最优性误差限 缓慢改进的迭代次数的上限 导数 (0:数值导数, 1:解析导数) 迭代次数上限 (0:无限制) 求解时间的上限(秒) (0:无限制) 是否采用目标割平面法 (1:是, 0:否) 模型生成器的内存上限(兆字节)(对某些机器,可能无意义) 割平面法的应用范围(0:根节点, 1:所有节点, 2:LINGO自动决定) 整数规划(IP)启发式求解次数 (0:无, 可设定为0~100) 整数规划(IP)的―篱笆‖值(none:无, 可设定为任意实数值) 整数规划(IP)的绝对最优性误差限 整数规划(IP)的相对最优性误差限 采用IPTOLR作为判断标准之前,程序必须求解的时间(秒) 分枝节点的选择策略(0: LINGO自动选择;1:深度优先;2: 最坏界的节点优先;3: 最好界的节点优先) 终端的页长限制 (0:没有限制;可设定任意非负整数) 终端的行宽限制(0:没有限制;可设定为64-200) 输出级别 (0:详细型, 1:简洁型) 是否显示状态窗口 (1:是, 0:否, Windows系统才能使用) 弹出版本和版权信息 (1:是, 0:否, Windows系统才能使用) 将输出定向到命令窗口 (1:是, 0:否, Windows系统才能使用) 命令窗口的最大显示行数(Windows系统才能使用) 每次从命令窗口滚动删除的最小行数 (Windows系统才第39页(共59页)

.000001 整性绝对误差限 3 none .8e-7 .5e-7 100 0 0 76 0 1 1 0 800 400 Lingo使用教程

能使用) 29 30 31 32 33 34 35 36 37 38 39 40 STABAR FILFMT TOOLBR CHKDUP ECHOIN ERRDLG USEPNM NSTEEP NCRASH NSLPDR SELCON PRBLVL 1 1 1 0 0 1 0 0 0 1 0 0 显示状态栏(1:是, 0:否, Windows系统才能使用) 文件格式(0:lng格式, 1:lg4格式, Windows系统才能使用) 显示工具栏(1:是, 0:否, Windows系统才能使用) 检查数据与模型中变量是否重名 (1:是, 0:否) 脚本命令反馈到命令窗口(1:是, 0:否) 错误信息以对话框显示 (1:是, 0:否, Windows系统才能使用) 允许无限制地使用基本集合的成员名(1:是, 0:否) 在非线性求解程序中使用最陡边策略选择变量(1:是, 0:否) 在非线性求解程序中使用启发式方法生成初始解(1:是, 0:否) 在非线性求解程序中用SLP法寻找搜索方向 (1:是, 0:否) 在非线性求解程序中有选择地检查约束(1:是, 0:否) 对混合整数线性规划(MILP)模型,采用探测(Probing)技术的级别(0:LINGO自动决定;1:无;2-7:探测级别逐步升高) 41 42 43 44 SOLVEL REDUCE SCALEM PRIMPR 0 2 1 0 线性求解程序(0: LINGO自动选择, 1: 原始单纯形法, 2: 对偶单纯形法, 3: 障碍法 (即内点法)) 模型降维(2:LINGO决定, 1:是, 0:否) 变换模型中的数据的尺度 (1:是, 0:否) 原始单纯形法决定出基变量的策略(0: LINGO自动决定, 1: 对部分出基变量尝试, 2: 用最陡边法对所有变量进行尝试) 对偶单纯形法决定出基变量的策略(0: LINGO自动决定, 45 DUALPR 0 1:按最大下降比例法确定, 2: 用最陡边法对所有变量进行尝试) 46 47 48 49 50 51 52 53

DUALCO RCMPSN MREGEN BRANDR BRANPR CUTOFF STRONG REOPTB 1 0 1 0 0 .1e-8 10 0 指定对偶计算的级别 (0: 不计算任何对偶信息;1:计算对偶价格;2:计算对偶价格并分析敏感性) Use RC format names for MPS I/O (1:yes, 0:no) 重新生成模型的频率(0:当模型的文本修改后;1:当模型的文本修改或模型含有外部引用时;3:每当有需要时) 分枝时对变量取整的优先方向(0:LINGO自动决定;1:向上取整优先;2:向下取整优先) 分枝时变量的优先级 (0:LINGO自动决定, 1:二进制(0-1)变量) 解的截断误差限 指定强分枝的层次级别 IP热启动时的LP算法 (0: LINGO自动选择;1:障碍法 第40页(共59页)


LINGO使用教程 - 图文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:成都九中高2014届12月生物考试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: