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、线性化工具
线性化是一种全面的重构工具,可自动将许多非平滑函数和运算符(例如,最大值和绝对值)转换为一系列线性数学等价表达式。许多非光滑模型可能完全线性化。这使得线性求解器能够快速找到一个全局的解决方案,否则这将是一个难以解决的非线性问题。