Lingo 12中文是一款方程组求解交互式数学建模工具,并作为一个全面的数学建模工具,旨在使建立和解决数学优化模型更容易和更高效。Lingo 12提供了一个完全集成的软件包,内置了一种建立最优化模型的语言,Lingo可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。
软件介绍
Lingo 12是Linear Interactive and General Optimizer的缩写,即“交互式的线性和通用优化求解器”,由美国LINDO系统公司(Lindo System Inc.)推出的,可以用于求解非线性规划,也可以用于一些线性和非线性方程组的求解等,Lingo 12功能十分强大,是求解优化模型的最佳选择。其特色在于内置建模语言,提供十几个内部函数,可以允许决策变量是整数(即整数规划,包括 0-1 整数规划),方便灵活,而且执行速度非常快。能方便与EXCEL,数据库等其他软件交换数据。
功能介绍
1、简单的模型表示
Lingo 12可以将线性、非线性和整数问题迅速得予以公式表示,并且容易阅读、了解和修改
2、方便的数据输入和输出选择
Lingo 12建立的模型可以直接从数据库或工作表获取资料。也可以将求解结果直接输出到数据库或工作表
3、强大的求解引擎
Lingo 12内建的求解引擎有线性、非线性(convex and nonconvex)、二次、二次限制和整数最佳化
4、交互性的模型建立
Lingo 12提供完全互动的环境供您建立、求解和分析模型。同时也提供 DLL 和 OLE 界面可供使用者关联有关程序
5、多样性的工具栏和帮助功能
Lingo 12提供的所有工具和文件可使你迅速入门和上手。Lingo 使用者手册有详细的功能定义等
软件特色
1、代数建模语言
LINGO支持强大的基于集合的建模语言,使用户能够高效,紧凑地表达数学编程模型。使用LINGO的内部脚本功能可以迭代地解决多个模型。
2、方便的数据选项
LINGO会花时间管理你的数据。它允许您构建直接从数据库和电子表格中提取信息的模型。同样,LINGO可以将解决方案信息直接输出到数据库或电子表格中,使您可以更轻松地在您选择的应用程序中生成报告。模型和数据的完全分离增强了模型维护和可扩展性。
3、交互式建模或创建交钥匙应用程序
您可以在LINGO中构建和解决模型,也可以直接从您编写的应用程序中调用LINGO。为了以交互方式开发模型,LINGO提供了一个完整的建模环境来构建,解决和分析模型。对于构建交钥匙解决方案,LINGO带有可调用的DLL和OLE接口,可以从用户编写的应用程序调用。还可以从Excel宏或数据库应用程序直接调用LINGO。目前,LINGO包括C/C++,FORTRAN,Java,C#.NET,VB.NET,ASP.NET,VisualBasic,Delphi和Excel的编程示例。
4、丰富的文档和帮助
LINGO提供您需要快速启动和运行的所有工具。您可以获得LINGO用户手册(打印出来并可通过在线帮助获得),该手册全面介绍了该程序的命令和功能。超级版本及更高版本中还包含一份LINGO优化建模副本,这是一个全面的建模文本,讨论所有主要类别的线性,整数和非线性优化问题。LINGO还提供了许多基于实际情况的示例供您修改和扩展。
5、强大的求解器和工具
LINGO提供全面的快速内置求解器,用于线性,非线性(凸和非凸),二次,二次约束和整数优化。您不必指定或加载单独的求解器,因为LINGO会读取您的配方并自动选择合适的配方。LINGO中可用的求解器和工具的一般描述如下:
6、一般非线性求解器
LINGO提供了一般的非线性和非线性/整数能力。为了在LINDOAPI中使用非线性功能,需要非线性许可选项。
7、全球求解器
全局解算器在分支定界框架内结合了一系列范围界限(例如,区间分析和凸分析)和范围缩减技术(例如,线性编程和约束传播),以找到经证明的非凸非线性程序的全局解决方案。传统的非线性求解器可能会陷入次优的局部解。使用全局求解器时不再是这种情况。
8、Multistart求解器
多点解算器智能地在NLP和混合整数NLP的解空间中生成候选起始点序列。传统的NLP解算器被称为每个起点以找到局部最优。对于非凸NLP模型,多层解算器找到的最佳解决方案的质量往往优于传统非线性求解器的单解决方案。用户可调参数控制要执行的最大数量的多段。
9、障碍解算器
障碍解算器是解决线性,二次和二阶锥问题的另一种方法。LINGO最先进的屏障方法实现为大规模,稀疏模型提供了巨大的速度优势。
10、单纯形求解器
LINGO提供了原始和双重单纯形法的两种高级实现,作为解决线性规划问题的主要手段。其灵活的设计允许用户通过改变几个算法参数来微调每种方法。
11、混合整数求解器
LINGO的混合整数求解器的能力扩展到线性,二次和一般非线性整数模型。它包含若干先进的解决方案技术,如切割生成,树状重新排序以动态减少树木生长,以及先进的启发式和预先解决策略。
12、随机求解器
随机规划求解器通过具有追索性的多阶段随机模型为不确定条件下的决策提供了机会。用户通过识别分配函数来描述不确定性,无论是内置的还是用户定义的,都描述了每个随机变量。随机求解器将优化模型以最小化初始阶段的成本加上在规划时间范围内的未来追索行动的预期成本。先进的采样模式也可用于近似连续分布。
13、模型和解决方案分析工具
LINGO包含一套全面的分析工具,用于调试不可行的线性,整数和非线性程序,使用先进的技术将不可行性源与原始约束的最小子集分开。它还具有执行灵敏度分析的工具,以确定最佳基础对某些数据成分(例如目标向量和右手大小值)变化的敏感性。
14、二次识别工具
QP识别工具是一种有用的代数预处理器,可自动确定任意NLP是否实际上是凸二次模型。然后可将QP模型传递给更快的二次求解器,该求解器可用作势垒求解器选项的一部分。当障碍解算器选项与全局选项结合使用时,除了凸二次模型之外,LINGO还会自动识别二阶锥体模型。
15、线性化工具
线性化是一种全面的重构工具,可自动将许多非平滑函数和运算符(例如,最大值和绝对值)转换为一系列线性数学等价表达式。许多非光滑模型可能完全线性化。这使得线性求解器能够快速找到一个全局的解决方案,否则这将是一个难以解决的非线性问题。
新版功能
1、所有新的随机规划(SP)求解器:
SP求解器通过具有追索权的多阶段随机模型为不确定条件下的决策提供了机会。用户通过内置或用户定义的分配函数来表示不确定性,随机求解器将优化模型以最小化初始阶段的成本加规划期间追索决策的期望值。先进的采样模式也可用来近似参数分布的随机参数。其他功能还包括:
可用于建模线性,非线性和整数随机程序(SP)。
支持大多数参数分布(连续或离散)。
通过统计抽样允许抽样情况。
拉丁-超平方采样减少方差。
能够根据Pearson,Spearman或Kendall的相关性度量生成统计依赖性样本。
具有长周期特征的伪随机数生成能力。
能够生成和显示用于优化SP模型的底层确定性等价物。
在脚本级别(calc部分)提供针对每种可能场景的完整解决方案,允许在各种场景下创建有关变量值的自定义报告。
2、单纯形求解改进:
大型线性模型通过增强的双重和原始单纯形求解器求解速度平均提高20%。
3、MIP解算器改进:
LINGO的MIP解算器改进包括:
增强可行性泵启发式,以帮助找到改善许多难题的可行解决方案。
四舍五入技术的改进利用了更广泛的约束结构。
标准启发式算法得到了改进。
4、全球求解改进:
全球求解器现在包括:
用二次项对模型进行凸化的新算法,使得全局求解器在非凸二次模型上更有效率,以及具有二次项的一般非线性模型。
改进功能,可改善各种复合功能的性能。
二阶锥体问题的自动识别,通过障碍解算器可以显着缩短解决时间。
5、环路优化:
循环优化重新表达了包含集合循环函数的表达式,以使其更有效率,同时保持数学等同性。循环优化的最终目标是最小化表达式中任何嵌套循环内循环的传递次数。效率低下的模型可以在模型生成时间上经历巨大的改进。
6、解决方案报告的精确度:
过去,在报告数字结果时,LINGO的解决方案报告始终显示7位有效数字。您现在可以控制精度,可以从1到17位有效数字。
7、新的脚本功能功能:
一些calc部分脚本功能被添加或改进:
除了数值之外,现在可以使用@FORMAT来格式化字符串的输出。
@GENDUAL为线性程序生成双重公式。
@SMPS生成MPS格式模型文件。
8、变量名称长度扩展到64个字符:
LINGO的先前版本在变量名长度上限制为32个字符。此限制已增加到64个字符。
使用说明
在Windows中启动LINGO
如何在Windows中输入和解决小型模型。如果您使用Windows以外的平台,则仍应阅读本节,因为模型方程的文本与平台无关,并且在所有平台上都相同。但是,请记住,在非Windows平台上,输入模型的技术略有不同。有关在Windows以外的平台上输入模型的说明,请参阅命令行提示一节。当您启动Windows的LINGO时,您的屏幕应类似于以下内容:
1.标有LINGO的外窗口是主框架窗口。所有其他窗口将包含在此窗口中。框架窗口的顶部还包含所有命令菜单和命令工具栏。有关工具栏和菜单命令的详细信息,请参阅Windows命令。主框架窗口的下边缘包含一个状态栏,提供有关LINGO当前状态的各种信息。通过使用LINGO|Options命令可以禁止工具栏和状态栏。
2.有LINGOModel-LINGO1的较小的子窗口是一个新的空白模型窗口。在下一节中,我们将直接在此窗口中输入示例模型。
打开示例模型
LINGO随附一个包含许多示例模型的目录。这些模型来自广泛的应用领域。有关这些模型的完整列表,请参阅LINGO建模的其他示例。示例模型目录标题为“样本”,并直接存储在许多LINGO目录中。
要在LINGO中打开示例模型,请按照下列步骤操作:
1.拉下文件菜单并选择打开命令。您应该看到以下对话框:
2.双击标题为Samples的文件夹,在这个位置您应该看到:
3.要读取小型运输模型,请在上述对话框中的文件名字段中输入Tran,然后按打开按钮。您现在应该在LINGO的一个开放窗口中使用该模型,如下所示:有关在LINGO中开发运输模型的详细信息,请参阅LINGO入门中的词汇问题。
您现在可以使用LINGO|Solve命令或通过按下工具栏上的btnxpsolve按钮来求解模型。该模型的最优目标值为161.解决时,您应该看到以下求解器状态窗口:注意目标字段的值为161。有关此窗口中其他字段的解释,请参阅LINGO入门中的求解器状态窗口。在求解器状态窗口后面,您可以找到该模型的解决方案报告。此报告包含有关模型的摘要信息以及所有变量的值。本报告的标题转载如下:有关解释解决方案报告中的字段的信息,请参阅LINGO入门中的解决方案报告示例。
4.在Windows中解决模型,你的模型现在已经进入并准备好解决。要开始求解模型,请从LINGO菜单中选择Solve命令,或者按主框架窗口顶部工具栏上的Solve按钮(btnxpsolve)。LINGO将开始编译模型。在此步骤中,LINGO将确定模型是否符合所有语法要求。如果LINGO模型未通过这些测试,则会通过错误消息通知您。例如,在这个模型中,如果你忘记使用乘号,你会得到错误
随机规划
到目前为止,我们使用确定性数学程序,其中所有模型参数(例如系数,界限等)是已知的常数。随机程序(SP)是一个数学程序(线性,非线性或混合整数),其中一些模型参数不确定,并且不确定性可以用已知的概率分布表示。应用程序出现在各种行业:
1.在价格,利率和汇率不确定的情况下,针对保险和其他金融公司的多个时期的金融投资组合计划
2.石油公司的勘探规划,
3.面对未来燃料需求不确定时的燃料采购,
4.车队指派:面对不确定的路线需求,车辆类型为路线指派,
5.发电机组承诺面对不确定的需求,
6.面对雨量不确定的水电管理和防洪,
7.在价格不确定的情况下,为期权行权的最佳时间,
8.面对未来需求和价格不确定的能力和生产计划,
9.面对不确定的投入废品质量,铸造金属混合,
10.面对未来技术不确定性的产品规划,
11.酒店和运输行业的收入管理
与外部文件接口
尝试将数据保存在LINGO模型文件中可能会很麻烦并且不切实际。在大多数情况下,模型的数据将驻留在文件,电子表格和数据库的外部。另外,如果您无法将其导出到其他应用程序,则由LINGO生成的解决方案几乎没有用处。由于这些原因,LINGO有许多方法可以帮助您将信息移入和移出应用程序。本节的主要重点是说明如何通过使用基于文本的ASCII文件将数据移入和移出LINGO。在与电子表格交互时,我们将着眼于使用电子表格,并且在与数据库交互时,我们将说明使用数据库维护模型的数据。
常见问题
Lingo 12错误代码有那些?
210:@WRITEFOR函数使用不当
211:输出操作中出现了算术运算错误
212:集合的下标越界
213:当前操作参数不应该是文本,但模型中指定的是文本
214:多次对同一个变量初始化
215:@DUAL,@RANGEU,@RANGED函数不能在此使用(参阅错误代码“168”)
216:这个函数应该需要输入文本作为参数
217:这个函数应该需要输入数值作为参数
218:这个函数应该需要输入行名或变量名作为参数
219:无法找到指定的行
220:没有定义的文本操作
221:@WRITE或@WRITEFOR函数的参数溢出
222:需要指定行名或变量名
223:向Excel文件中写数据时,动态接收单元超出了限制
224:向Excel文件中写数据时,需要写的数据的个数多于指定的接收单元的个数
225:计算段(CALC)的表达式不正确
226:不存在默认的电子表格文件,请为@OLE函数指定一个电子表格文件
227:为APISET命令指定的参数索引不正确
228:通过Excel输入输出数据时,如果LINGO中的多个对象对应于Excel中的名,则列数应该一致
229:为APISET命令指定的参数类型不正确
230:为APISET命令指定的参数值不正确
231:APISET命令无法完成
232:(该错误编号目前没有使用)
1000:(错误编号为1000以上的信息,只对Windows系统有效)
1001:LINGO找不到与指定括号匹配的括号
1002:当前内存中没有模型,不能求解
1003:LINGO现在正忙,不能马上响应您的请求
1004:LINGO不能写LOG(日志)文件,也许磁盘已满
1005:LINGO不能打开指定的LOG(日志)文件
1006:不能打开文件
1007:没有足够内存完成命令
1008:不能打开新窗口(可能内存不够)
1009:没有足够内存空间生成解答报告
1010:不能打开Excel文件的链接(通常是由于系统资源不足)
1011:LINGO不能完成对图形的请求
1012:LINGO与ODBC连接时出现错误
1013:通过OBDC传递数据时不能完成初始化
1014:向Excel文件传递数据时,指定的参数不够
1015:不能保存文件
1016:Windows环境下不支持Edit命令,请使用File|Open菜单命令
9999:由于出现严重错误,优化求解程序运行失败(最可能的原因是数学函数出错,如函数@LOG(X-1)当X<=1时就会出现这类错误)
软件特别说明
尊重软件版权,本站提供软件版本为官方正式版。