LINGO教程
Limit缓慢改进的迭代次数的上限 Numerical Derivatives 数值法 导数 Analytical 解析法 Crash Initial Solution 生成初始解 Quadratic Recognition 识别二次规划 Selective Strategies Constraint 策略 Eval 有选择地检查约束 SLP Directions SLP方向 改进以后,停止迭代(缺省值为5) 用有限差分法计算数值导数(缺省值) 用解析法计算导数(仅对只含有算术运算符的函数使用) 选择该选项, LINGO将用启发式方法生成初始解;否则不生成(缺省值) 选择该选项, LINGO将判别模型是否为二次规划,若是则采用二次规划算法(包含在线性规划的内点法中);否则不判别(缺省值) 选择该选项, LINGO在每次迭代时只检查必须检查的约束(如果有些约束函数在某些区域没有定义,这样做会出现错误);否则,检查所有约束(缺省值) 选择该选项, LINGO在每次迭代时用SLP (Successive LP,逐次线性规划)方法寻找搜索方向(缺省值) 选择该选项, LINGO在每次迭代时将对所有Steepest 可能的变量进行尝试,找到使目标值下降最Edge 多的变量进行迭代;缺省值为不使用最陡边最陡边策略 策略
(5)Integer Pre-Solver(整数预处理求解器)选项卡 选项组 选项 含义 控制采用启发式搜索的次数(缺省值为3,可能的值为0-100). 启发式方法的目的是Level 从分枝节点的连续解出发,搜索一个好的整Heuristics 数解。 启发式方法 每个分枝节点使用启发式搜索的最小时间Min Seconds (秒) 控制采用探测(Probing)技术的级别(探测能够用于混合整数线性规划模型,收紧变Probing Level 量的上下界和约束的右端项的值)。可能的探测水平(级别) 取值为: ·Solver Decides:LINGO自动决定(缺省 共53页 46
LINGO教程
设置) ·1-7:探测级别逐步升高。 控制在分枝定界树中,哪些节点需要增加割(平面),可能的取值为: Application ·Root Only:仅根节点增加割(平面) 应用节点 ·All Nodes:所有节点均增加割(平面) ·Solver Decides:LINGO自动决定(缺省设置) Constraint Relative 控制生成的割(平面)的个数相对于原问题Limit Cuts 的约束个数的上限(比值),缺省值为0.75 约束的割(平相对上限 面) 为了寻找合适的割,最大迭代检查的次数。Max Passes 有两个参数: 最大迭代检·Root:对根节点的次数(缺省值为200) 查的次数 ·Tree:对其他节点的次数(缺省值为2) 控制生成的割(平面)的策略,共有12种Types 策略可供选择。 (如想了解细节,请参阅类型 整数规划方面的专著) (6)Integer Solver(整数求解器)选项卡
整数预处理程序只用于整数线性规划模型(ILP模型),对连续规划和非线性模型无效。 选项组 选项 含义 控制分枝策略中优先对变量取整的方向,有三种选择: Direction ·Both:LINGO自动决定(缺省设置) ·Up:向上取整优先 ·Down:向下取整优先 Branching 分枝 控制分枝策略中优先对哪些变量进行分枝,有两种选择: Priority ·LINGO Decides:LINGO自动决定(缺省设置) ·Binary:二进制(0-1)变量优先 Absolute 当变量与整数的绝对误差小于这个值时,-6Integrality 绝对误差限 该变量被认为是整数。缺省值为10 整性 Relative 当变量与整数的相对误差小于这个值时,相对误差限 该变量被认为是整数。缺省值为8*10-6 共53页 47
LINGO教程
当以前面的求解结果为基础,热启动求解程序时采用的算法,有四种可能的设置: ·LINGO Decides:LINGO自动选择算法(缺Warm Start 省设置) 热启动 ·Primal Simplex:原始单纯形法 LP Solver ·Dual Simplex:对偶单纯形法 LP求解程序 ·Barrier: 障碍法 (即内点法) 当不以前面的求解结果为基础,冷启动求Cold Start 解程序时采用的算法,有四种可能的设置:冷启动 (同上,略) 当当前目标函数值与最优值的绝对误差小Absolute 于这个值时,当前解被认为是最优解(也目标函数的绝就是说:只需要搜索比当前解至少改进这对误差限 么多个单位的解)。缺省值为8*10-8 当当前目标函数值与最优值的相对误差小Relative 于这个值时,当前解被认为是最优解(也Optimality 目标函数的相就是说:只需要搜索比当前解至少改进这最优性 对误差限 么多百分比的解)。缺省值为5*10-8 Time To Relative 在程序开始运行后这么多秒内,不采用相开始采用相对对误差限策略;此后才使用相对误差限策误差限的时间略。缺省值为100秒。 (秒) Hurdle 同上一章LINDO部分的介绍 篱笆值 控制如何选择节点的分枝求解,有以下选项: Node ·LINGO Decides: LINGO自动选择(缺Selection 省设置) Tolerances 节点选择 ·Depth First:按深度优先 误差限 ·Worst Bound:选择具有最坏界的节点 ·Best Bound:选择具有最好的界的节点 控制采用强分枝的层数。也就是说,对前这么多层的分枝,采用强分枝策略。所谓Strong Branch 强分枝,就是在一个节点对多个变量分别强分枝的层数 尝试进行预分枝,找出其中最好的解(变量)进行实际分枝。
(7)Global Solver(全局最优求解器)选项卡 选项组 选项 含义 共53页 48
LINGO教程
选择该选项,LINGO将用全局最优求解Use Global 程序求解模型,尽可能得到全局最优解Solver (求解花费的时间可能很长);否则不使用全局最优求使用全局最优求解程序,通常只得到局解程序 部最优解 有两个域可以控制变量上界(按绝对值): 1、 Value:设定变量的上界,缺省值为1010; Variable Upper 2、 Application列表框设置这个界的三种 Bound Global 应用范围: 变量上界 Solver ·None: 所有变量都不使用这个上界; 全局最优求·All: 所有变量都使用这个上界; 解程序 ·Selected:先找到第1个局部最优解,然后对满足这个上界的变量使用这个上界(缺省设置) 有两个域可以控制变量上界(按绝对值): 1、 Optimality:只搜索比当前解至少Tolerances 改进这么多个单位的解(缺省值为误差限 10-6); 2、 Delta:全局最优求解程序在凸化过程中增加的约束的误差限(缺省值为-710)。 共53页 49
LINGO教程
Strategies 策略 Multistart Solver Attempts 多初始点求尝试次数 解程序 可以控制全局最优求解程序的三类策略: 1、Branching:第1次对变量分枝时使用的分枝策略: ·Absolute Width(绝对宽度) ·Local Width(局部宽度) ·Global Width(全局宽度) ·Global Distance(全局距离) ·Abs (Absolute) Violation(绝对冲突) ·Rel (Relative) Violation(相对冲突,缺省设置) 2、Box Selection: 选择活跃分枝节点的方法: ·Depth First(深度优先) ·Worst Bound(具有最坏界的分枝优先,缺省设置) 3、Reformulation:模型重整的级别: ·None(不进行重整) ·Low(低) ·Medium(中) ·High(高,缺省设置) 尝试多少个初始点求解,有以下几种可能的设置: ·Solver Decides:由LINGO决定(缺省设置,对小规模NLP问题为5次,对大规模问题不使用多点求解) ·Off:不使用多点求解 ·N(>1的正整数):N点求解 ·Barrier: 障碍法 (即内点法) 5.4 窗口菜单(Windows Menu)
1. 1. 命令行窗口(Command Window) 从窗口菜单中选用“Command Window”命令或直接按Ctrl+1可以打开LINGO的命令行窗口。在命令行窗口中可以获得命令行界面,在“:”提示符后可以输入LINGO的命令行命令。
2. 2. 状态窗口(Status Window)
从窗口菜单中选用“Status Window”命令或直接按Ctrl+2可以打开LINGO的求解状态窗口。
如果在编译期间没有表达错误,那么LINGO将调用适当的求解器来求解模型。当求解器开始运行时,它就会显示如下的求解器状态窗口(LINGO Solver Status)。
共53页 50