LINGO,全称Linear Interactive and General Optimizer,可以用于求解非线性规划,也可以用于一些线性和非线性方程组的求解等,功能十分强大,是使建立和求解线性、非线性和整数最佳化模型更快更简单更有效率的综合工具。软件内置建模语言,提供十几个内部函数,可以允许决策变量是整数,方便灵活,而且执行速度非常快。能方便与EXCEL,数据库等其他软件交换数据。
LINGO软件特色
1、简单的模型表示
Lingo 可以将线性、非线性和整数问题迅速得予以公式表示,并且容易阅读、了解和修改。LINGO的建模语言允许您使用汇总和下标变量以一种易懂的直观的方式来表达模型,非常类似您在使用纸和笔。模型更加容易构建,更容易理解,因此也更容易维护。
2、方便的数据输入和输出选择
Lingo 建立的模型可以直接从数据库或工作表获取资料。同样地,Lingo 可以将求解结果直接输出到数据库或工作表。使得您能够在您选择的应用程序中生成报告.
3、强大的求解器
LINGO拥有一整套快速的,内建的求解器用来求解线性的,非线性的(球面&;非球面的),二次的,二次约束的,和整数优化问题。您甚至不需要指定或启动特定的求解器,因为LINGO会读取您的方程式并自动选择合适的求解器。
4、交互式模型或创建Turn-key应用程序
您能够在LINGO内创建和求解模型,或您能够从您自己编写的应用程序中直接调用LINGO。对于开发交互式模型,LINGO提供了一整套建模环境来构建,求解和分析您的模型.对于构建turn-key解决方案,LINGO提供的可调用的DLL和OLE界面能够从用户自己写的程序中被调用。LINGO也能够从Excel宏或数据库应用程序中被直接调用.
5、广泛的文件和 HELP 功能
Lingo 提供的所有工具和文件可使你迅速入门和上手。Lingo 使用者手册有详细的功能定义。
LINGO软件功能
1、改进单纯形求解器的线性模型的快速求解
改进单纯形解算器提高大型线性模型的性能。
大模型解决了平均为35%的速度更快,使用原始单纯形和20%的速度更快的双单纯形。
2、具有新特性的改进的整数解算器
一种新的优化模式已被引入,以确保运行的重现性。
调查最快的替代方案。
增强的K-Best算法寻找最佳的解决方案,允许K在多一点时间比找到一个解决方案。
寻找更快的解决方案,以背包约束和块结构模型,采用新的启发式算法。
新的预处理水平•收紧变界更好的类非线性模型的性能。
3、增强随机解
•大型线性多级SP的情况下解决60%改进管理更快的嵌套Benders分解法。
更好地处理不具备全部追索权的多级SP模型。
解析器的扩展允许随机参数的任意复杂函数的使用。
4、改进的全局求解器
在二次问题的类上,全局解算器的性能得到了极大的改善。特别是,非凸二次
其他者拒绝问题,否则只有慢慢局部最优解的传统的NLP求解器。可以解决一些
以前难以解决的问题,全球最优性,特别是金融投资组合模型的最低购买量,
和/或限制仪器的数量在非零水平。
•采用了新的约束收紧过程线性化,提高了线性模型的可解性。
显着更快,更强大的性能在许多车型上的功能,如@最大(),@最小(),@的Z = Z Z Z = 0或1,等等。
5、本地的Macintosh和Linux的支持
•LINGO软件的用户界面已经完全改写为Macintosh和Linux平台的原生支持。
下面是一个对图像的非线性的程序在Mac LINGO模型
6、矩阵函数
•已经出现了一些新的功能被添加到Lingo进行矩阵运算。
支持的操作包括:特征值和特征向量的计算、矩阵的行列式,Cholesky分解,
矩阵的逆矩阵,和矩阵的转置。
7、线性回归
增加了多元线性回归的新的回归函数。
8、其他改进
现在支持Tornado图。
额外的分类能力,方便数据准备和解决方案报告。
•新日期的功能,“stm2ymdhms,LINGO的标准时间值转换为等效的日历日期和时间。
使用说明lingo怎么导出数据?
与大多数接口函数一样,@ ODBC可以导出数据并导入数据。具体来说,您可以在模型的数据部分中使用@ODBC函数将集合成员和属性值导出到ODBC数据源。要使用@ODBC导出解决方案,请将调用@ODBC放入模型的数据部分。每次解决模型时都会执行这些@ODBC导出指令。
语法形式1:
使用@ODBC导出数据的第一种语法形式是:
@ODBC(['data_source'[,'table_name'[,'column_name_1'[,...,
'column_name_n']]]]] = object_list;
注意:导入时,@ODBC出现在等号右侧。导出时,@ODBC函数出现在等号的左侧。
请记住,集合成员将导出为文本,而集合属性将导出为双精度浮点值。
使用@ODBC将数据值导出到ODBC数据源的一些示例如下:
示例1:@ODBC('TRANSPORTATION',
'LINKS','VOLUME')=音量;
LINGO将VOLUME属性的值发送到ODBC数据源TRANSPORTATION中的数据表LINKS中标题为VOLUME的列。
示例2:@ODBC()= NUMBER_WORKING;
@ODBC函数的所有参数都已省略,默认为数据源的模型标题,数据表的父集属性以及列名的属性名称。 因此,假设我们使用TITLE语句命名此模型SCHEDULING,并且在集合SCHEDULES上定义了属性NUMBER_WORKING,则LINGO将属性NUMBER_WORKING导出到ODBC数据源SCHEDULING中数据表SCHEDULES中标题为NUMBER_WORKING的列。