LINGO课件(7)

2019-08-31 09:19

可以控制全局最优求解程序的三类策略: 1、Branching:第1次对变量分枝时使用的分枝策略: ·Absolute Width(绝对宽度) ·Local Width(局部宽度) ·Global Width(全局宽度) ·Global Distance(全局距离) ·Abs (Absolute) Violation(绝对冲突) Strategies 策略 ·Rel (Relative) Violation(相对冲突,缺省设置) 2、Box Selection: 选择活跃分枝节点的方法: ·Depth First(深度优先) ·Worst Bound(具有最坏界的分枝优先,缺省设置) 3、Reformulation:模型重整的级别: ·None(不进行重整) ·Low(低) ·Medium(中) ·High(高,缺省设置) 尝试多少个初始点求解,有以下几种可能的设置: Multistart Solver Attempts ·Solver Decides:由LINGO决定(缺省设置,对小规模NLP问题为5次,对大规模问题不使用多点求解) ·Off:不使用多点求解 ·N(>1的正整数):N点求解 ·Barrier: 障碍法 (即内点法) 4.4 窗口菜单(Windows Menu)

1. 命令行窗口(Open Command Window)

从窗口菜单中选用“Open Command Window”命令或直接按Ctrl+1可以打开LINGO的命令行窗口。在命令行窗口中可以获得命令行界面,在“:”提示符后可以输入LINGO的命令行命令。

2. 状态窗口(Status Window)

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

多初始点求尝试次数 解程序 页 第31

如果在编译期间没有表达错误,那么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;

页 第32

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)框

显示求解模型到目前所用的时间,它可能受到系统中别的应用程序的影响。 求解器状态(Solver Status)框

显示当前模型求解器的运行状态。域的含义如下。

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

Iterations 目前为止的迭代次数 非负整数 扩展求解器状态(Extended Solver Status)框 显示LINGO中几个特殊求解器的运行状态。包括分枝定界求解器(Branch-and- Bound Solver)、全局求解器(Global Solver)和多初始点求解器(Multistart Solver)。该框中的域仅当这些求解器运行时才会更新。域的含义如下。

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

1. 帮助主题(Help Menu)

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

上机练习1:

在lingo软件中输入例1.2的运输规划问题,熟悉LINGO模型和LINGO软件。

五、 LINGO函数

有了前几节的基础知识,再加上本节的内容,你就能够借助于LINGO建立并求解复杂的优化模型了。

页 第34

LINGO有9种类型共50多个函数:

1.基本运算符:包括算术运算符、逻辑运算符和关系运算符 2.数学函数:三角函数和常规的数学函数 3.金融函数:LINGO提供的两种金融函数 4.概率函数:LINGO提供了大量概率相关的函数 5.变量界定函数:这类函数用来定义变量的取值范围 6.集操作函数:这类函数为对集的操作提供帮助 7.集循环函数:遍历集的元素,执行一定的操作的函数

8.数据输入输出函数:这类函数允许模型和外部数据源相联系,进行数据的输入输出 9.辅助函数:各种杂类函数 5.1 基本运算符

这些运算符是非常基本的,甚至可以不认为它们是一类函数。事实上,在LINGO中它们是非常重要的。 5.1.1 算术运算符

算术运算符是针对数值进行操作的。LINGO提供了5种二元运算符: ^ 乘方 ﹡ 乘 / 除 ﹢ 加 ﹣ 减

注:“﹣”也可以作为单目运算符,表示取运算对象的负值,LINGO唯一的一元算术运算符是取反函数“﹣”。

这些运算符的优先级由高到底为: 高 ﹣(取反) ^ ﹡/ 低 ﹢﹣

运算符的运算次序为从左到右按优先级高低来执行。运算的次序可以用圆括号“()”来改变。

例4.1 算术运算符示例。

页 第35


LINGO课件(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中华人民共和国杭州海关通关作业审单操作规程

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

马上注册会员

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