荣斋居士分享 http://blog.sciencenet.cn/u/dalianwang

博文

Lingo软件使用的一般常识

已有 20171 次阅读 2019-6-5 04:40 |个人分类:软件学习|系统分类:教学心得| Lingo, Lingo

        本文汇总了学习和使用lingo的过程中搜集的一些资料和经验(需要注意的点),涉及的资料主要来源于网络,对相关作者和分享者表示感谢。文中的部分图片尚未取得作者的许可,如有侵权,请留言或联系我,我会及时删除。

Lingo和matlab的区别

image.png

image.png

求解后的报告如何解读?

image.png


Lingo注意事项

image.png

image.png


Lingo选项设置

image.png


运算符

image.png

image.png

集合-原始集合&派生集合

image.png

image.png

image.png


过滤器——“|”符号


用竖线“|”来标记一个成员资格过滤器的开始。搭配上面提到的逻辑运算符,能否筛选符合条件的数据。



未知数据的表达——逗号之间空着即可

image.png

数学函数

image.png

image.png

变量定义

image.png

        在默认情况下,LINGO规定变量是非负的,也就是说下界为0,上界为+∞。

        @free取消了默认的下界为0的限制,使变量也可以取负值。

        @bnd用于设定一个变量的上下界,它也可以取消默认下界为0的约束。



数据输入和输出

@file函数

image.png

image.png

@text函数

该函数被用在数据部分用来把解输出至文本文件中。它可以输出集成员和集属性值。

@ole函数

@OLE是从EXCEL中引入或输出数据的接口函数。

@OLE只能读一维或二维的Ranges(在单个的EXCEL工作表(sheet)中),但不能读间断的或三维的Ranges。Ranges是自左而右、自上而下来读。


image.png

求解结束后的状态

  1. Global Optimum(全局最优)

  2. Infeasible(不可行)

  3. Unbounded(无界)

  4. Undetermined(不确定)

  5. Feasible(可行) 

  6. Infeasible or Unbounded(通常需要关闭“预处理”选项后重新求解模型,以确定模型究竟是不可行还是无界)

  7. Local Optimum(局部最优) 

  8. Locally Infeasible(局部不可行,尽管可行解可能存在,但是LINGO并没有找到一个) 

  9. Cutoff(目标函数的截断值被达到)

  10. Numeric Error(求解器因在某约束中遇到无定义的算术运算而停止)

灵敏度分析——(Ctrl+R)

用该命令产生当前模型的灵敏性分析报告:研究当目标函数的费用系数和约束右端项在什么范围(此时假定其它系数不变)时,最优基保持不变。灵敏性分析是在求解模型时作出的,因此在求解模型时灵敏性分析是激活状态,但是默认是不激活的。为了激活灵敏性分析,运行LINGO|Options„,选择General Solver Tab, 在Dual Computations列表框中,选择Prices and Ranges选项。灵敏性分析耗费相当多的求解时间,因此当速度很关键时,就没有必要激活它。

选项设置的技巧

从LINGO菜单中选用“Options...”命令、单击“Options...”按钮或直接按Ctrl+I组合键可以改变一些影响LINGO模型求解时的参数。该命令将打开一个含有7个选项卡的窗口,你可以通过它修改LINGO系统的各种参数和选项。

修改完以后,你如果单击“Apply(应用)”按钮,则新的设置马上生效;如果单击“OK(确定)”按钮,则新的设置马上生效,并且同时关闭该窗口。如果单击“Save(保存)”按钮,则将当前设置变为默认设置,下次启动LINGO时这些设置仍然有效。单击“Default(缺省值)”按钮,则恢复LINGO系统定义的原始默认设置(缺省设置)。

Global Solver(全局最优求解器)选项卡

image.png

image.png

image.png

image.png


扩展求解器状态(Extended Solver Status)框

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

image.png

加速lingo运行

  • 把不必要的检验关了(特别是灵敏度分析,最好自己灵敏度分析,lingo的灵敏度分析误差很大,而且特别慢。)

  • 减少迭代次数:在option里面调。用针对此规划模型最优的算法计算,(最好设置lingo中的算法为:寻找最优解法。)

  • the most important:模型一定要尽量化成线性规划。非线性规划对于lingo是成几何倍的计算量,并且误差还比较大。



lingo5.pdf

Lingo超经典案例大全.doc

LINGO 基本教程.pdf

lingo教程简版.doc

LINGO使用说明(比较简单).doc

LINGO教程(基本语法).ppt

LINGO教程(基本语法).pdf

Lingo Users Manual.pdf

introduction_to_the_use_of_lingo.doc




https://blog.sciencenet.cn/blog-2089193-1183128.html

上一篇:关于人工智能的讨论
下一篇:使用lingo对多个变量赋值或调用
收藏 IP: 184.54.72.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (2 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-6 15:45

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部