24小时咨询服务热线:13810555120 点击扫描加微信
 

 
 
 
LINDO API 数学建模优化软件
LINDO API 以其优越的性能当之无愧的成为LINDO SYSTEM公司引以为豪的产品,简言之,它的一般特征大致包括(更多功能特性请参考LINDO API手册):
①随机优化解算器
②全局优化的全局和多起点求解器
③非线性优化的非线性求解器
④单纯形线性求解器
⑤非线性整数优化的障碍求解器
⑥用于线性整数优化和非线性整数优化的混合整数求解器
⑦用于分析不可行的线性、整数和非线性模型的工具箱
⑧可以利用多核计算机的并行处理特性
⑨接口到其他系统,例如MATLAB, Ox, Java and .NET
⑩多系统平台支持(Windows、Mac、Linux)

使用 LINDO API 可以建立求最佳解的应用程序,LINDO API 允许你将强大的线性、整数或非线性求解引擎挂入你已写好的应用程序中。
使用LINDO API,您可以轻松创建自己的优化应用程序。
它允许您将LINDO solvers插入到您所编写的定制应用程序和数学程序中。
LINDO API 支持求解线性优化规划、原始单纯形法、对偶单纯形法、障碍法(即内点法)规划、连续规划、连续性线性规划、连续二次方程规划、连续非线性规划、连续圆锥规划、连续随机规划、矩阵分解、正定矩阵、半正定矩阵、检查模型的数据平衡性、分支定界、非线性规划、凸面求解、凹面求解、凸非线性规划、非凸(凹)非线性规划、广义简化梯度规划、生成初始解、二次规划模型、凸二次规划、非凸(凹面)二次规划、识别二次规划、有选择的检查约束规划、最陡边策略、整数预处理求解规划、整数规划、整数线性规划、整数非线性规划、单纯整数规划、单纯整数线性规划、单纯整数非线性规划、单纯整数二次方程规划、单纯整数圆锥规划、单纯整数随机规划、混合整数规划、混合整数线性规划、混合整数非线性规划、混合整数二次方程规划、混合整数圆锥规划、混合整数随机规划、全局最优解规划、多初始点求解规划、随机规划求解、圆锥规划、二阶锥(二次锥)、半定锥、半定规划、半定松弛、不确定型优化规化、不确定型线性规划、不确定型非线性规划、不确定型圆锥优化规划、不确定型随机优化规划、不确定型二次优化规划、动态规划、多层择优程序、多目标规划、对偶计算、完全不相似约束、K最佳解决方案、机会约束规划等等强大的求解功能。

■ 快速、简单的应用程序开发
LINDO API可以使您轻松地将优化无缝集成到您自己的应用程序中。
开发人员界面的设计是为了最大的易用性和灵活性。
它提供了清晰、全面的文档和例子,以帮助您快速运行。
■ 强大的解算器
LINDO API为您提供了一种用于随机、线性、非线性(凸&非凸/全局)、二次、四轴、二阶锥和整数优化的强大的求解器。所有的解决方案都在最大速度和健壮性上增加了许多增强。

LINDO API包括一组内置的解决方案,以解决各种各样的问题。它提供了更多的控制算法和求解器参数。这使得用户可以根据单个应用程序定制解决方案策略以达到最优控制和速度。

线性解算器(Linear Solvers)
LINDO API提供支持三种世界最先进的线性解算器。
原始和双单纯性的解算器(Primal and Dual Simplex Solvers)
Base里包括原始的和双单纯性解算器,它包含了大量的提高速度和健壮性。
例如,定价选项包括部分定价和Devex。
您可以基于问题特征基础上选择的最佳定价策略。
障碍算法(内点法)解算器 Barrier (Interior-Point) Solver
障碍算法求解器是求解线性和二次规划问题的另一种方法。LINDO API的最先进的屏障解决方案为大型稀疏模型提供了极大的速度优势。
Barrier solver提供了解决线性模型的另一种方法。Barrier选项利用一个屏障或内部点方法来解决线性模型。
不同于在可行区域外沿外运动的单纯解算器,障碍求解器通过内部空间移动来寻找最优解。
根据某一特定模型的大小和结构,势垒求解器可能比单纯型求解器快得多,而且能够在大型线性模型上提供特别的速度——特别是在具有超过5000个约束或高度退化模型的稀疏模型上。
整数规划求解(Integer Solver)
对于具有一般和二进制整数限制的模型,LINDO API包括一个与线性、非线性和二次求解器协同工作的整数求解器。
对于线性模型,您有能力调整解决方案策略,并应用不同类型的削减以确保在特定问题结构上的最大速度。
非线性(Nonlinear Solvers)
LINDO API是世界上第一个提供通用的非线性和非线性/整数功能的全功能solver可调用库能力。这个独特的特性允许开发人员在客户自定义的应用程序中使用一个通用的求解程序。与它的线性和整数功能一样,LINDO API为用户提供了一套完整的例程来制定、解决和修改非线性模型。
LINDO API包括许多方法来寻找局部或全局最优的非线性模型解决方案。
一般非线性规划求解器 (General Nonlinear Solver)
对于非线性规划模型,LINDO API可选非线性求解器所使用的主要底层技术是基于广义降压梯度算法。
然而,为了快速地得到一个很好的可行解,LINDO API也加入了连续的线性规划(SLP)。
非线性solver利用稀疏的优点来提高速度和更有效的内存使用。
非线性模型的求解需要非线性的许可选项。
全球解算器(Global Solver)
全球解算器通过分支定界框架计算方法结合了一系列范围内的边界框(例如区间分析和凸分析)和范围的简化技术(例如线性规划和约束传播),来为非凸的NLPs找到经过验证的全局解决方案。
本地搜索解决程序通常只被设计用于搜索,直到它们确定了局部最优。如果模型是非凸型的,则可能存在其它局部最优解,其结果会得到更好的解。而不是在第一个局部最优之后停止,全局求解器将搜索到全局最优。
全局求解器将原非凸非线性问题转化为几个凸线性子问题。然后,它使用分支和绑定的技术对这些子问题进行详尽的全局搜索。为了利用全局优化功能,需要使用非线性和全局许可选项。
多启点解算器 (Multistart solvers)
当有限的时间使得搜索全局最优时,多启动求解器可以成为更快找到好的解决方案的强大工具。这智能地生成了解决方案空间中的候选起始点集合。然后,一般的非线性求解器智能地选择这些子集来初始化一系列局部优化。对于非凸非线性模型,多启动求解器返回的解的质量将优于一般的非线性求解器。
要使用多启动功能,需要使用非线性和全局许可选项。
多启点非线性解算器 (Multistart Nonlinear Solver)
在非线性规划(NLP)和混合整数非线性随机规划(MINLPs)的解决空间中,多启动解析器智能地生成一个候选起点序列。传统的NLP解析器被调用,每一个起点都可以找到一个局部最优值。对于非凸非线性规划(Non-convex NLP)模型,对于非凸型NLP模型,多启动求解器发现的最佳解决方案的质量往往优于传统的非线性求解器的单一解,用户可调参数控制要执行的多启动数的最大数量。
二次规划求解 (Quadratic Solver)
除了求解线性和混合整数模型,Barrier选项LINDO API还可以自动检测和求解目标函数和/或某些约束包含二次项的模型。
通过利用二次结构,LINDO API可以比一般的非线性求解器更快地解决这些模型。
LINDO API甚至可以处理具有二进制和一般整数限制的二次模型。
这些二次功能使LINDO API适用于诸如组合优化问题、受约束的回归问题以及某些复杂的物流问题的应用、布局问题,固定电荷网络问题与二次目标。
二次求解器被包括在屏障许可选项中。
圆锥规划解算器(Conic Solvers)
LINDO API的Conic选项包括一个Conic solver来有效地解决二阶锥体问题(SOCP)。
通过将某些非线性模型表示为SOCPs,可以用圆锥求解器大大快于一般的非线性求解器。
为了利用圆锥求解器,需要进行障碍和圆锥选择。
随机规划解算器、多级阶规划解算器和机会约束(Stochastic Solver, Multistage & Chance Constrained)
LINDO API强大的随机求解器提供了解决问题的能力, 将风险纳入多阶段优化模型,最大化预期利润,并将结果汇总成可以显示可能利润分布的直方图。这个新选项允许通过多级随机线性、非线性和整数随机规划(SP)对不确定元素的模型进行建模和优化。Benders分解用于求解大型线性SP模型。用确定性等价方法求解非线性和整数SP模型。支持可用于超过20种分布类型(离散或连续)。

机会约束模型、有追索权的多级随机模型,对于这两种类型,用户通过提供内置或用户定义的分发函数来表达不确定性。在多阶段模型中,随机解算器优化模型,使初始阶段的成本最小化,以及对所有未来阶段的追索权的期望值。在有限约束的模型中,求解器找到了满足给定概率的约束条件的最佳解。
预处理和用户控制(Preprocessing and User Control)
预处理程序包括在所有的求解程序中。线性和非线性求解包括缩放和模型简化技术。
在数字困难的模型上,缩放程序可以提高速度和鲁棒性。模型还原技术通常可以通过分析原始的公式,并将其压缩成一个较小的问题,从而使模型更快地解决问题。
整数求解器包括广泛的预处理和切割生成例程。
设定了LINDO API,因此用户可以尽可能多地控制对solvers的输入。当解决例程启动时,LINDO API分析问题,并考虑用户设置的内部参数,以达到您特定问题的最佳性能。
线性化工具箱 (Linearization Tools)
线性化是一种综合的重构工具,它能自动将许多非平滑的函数和运算符换成一系列线性的、数学上等价的表达式。许多非光滑模型可能是完全线性化的模型,这使得线性求解器能够快速找到一个全局的解决方案,否则这将是一个棘手的非线性问题。
混合整数规划解算器(Mixed Integer Solver)
混合整数解析器可以解决线性、二次和一般非线性整数规划模型。它包含先进的技术,如
a)切割生成
b)树重新排序为了能动态地减少树木的生长
c)提高了启发式算法速度,从而能快速找到最佳的解决方案
d)识别确定模型结构并开发更快的解决方案
e)识别AllDiff (所有不同的约束类型)
单纯形解算器(Simplex Solvers)
LINDO API提供了两种原始和对偶单纯形方法的高级实现,作为解决线性编程问题的主要方法。它的灵活设计允许用户通过改变几个算法参数来微调每个方法。
冲刺算法(The Sprint method)正是使用标准的单纯形解决方案来处理那些拥有数百万个变量的,但是有限的约束数的线性规划模型的“瘦身”。
并行扩展功能(Parallel Extensions)
LINDO API利用多核处理器的计算机的优势将多核优化扩展到其解决方案中。
多核扩展有两种类型:并发优化器(concurrent optimizers)和并行优化器(parallel optimizers)。
统计抽样工具箱(Statistical Sampling Tools)
LINDO API提供了大量的API函数集,用于从各种统计分布中取样。
通过使用方差还原方法(variance reduction methods),如拉丁-超平方取样和抗感变量,可以减少抽样误差。伪随机数代API提供了具有长周期的高级生成器(pseudo-random number generation API offers advanced generators with long cycles)。
模型和解决方案分析工具箱(Model and Solution Analysis Tools)
LINDO API包含一组全面的分析工具,
a)使用一系列先进技术隔离来源不可行性较小的子集的原始约束, 调试不可行线性规划模型、整数模型和非线性模型
b)进行敏感性分析来确定敏感性变化在某些数据的基础组件的最优解(如目标向量,right-hand-size值等)。
二次识别工具箱(Quadratic Recognition Tools)
QP识别工具是一个非常实用的代数预处理程序,自动辨别确定任意NLP实际上是一个二次规划模型或者是二次锥(SOC)模型。这些模型会被传递给更快的二次求解器,作为屏障求解器选项的一部分。
分解解算器和工具箱(Decomposition Solvers and Tools)
许多大的线性和混合整数问题都有约束矩阵,它们可以分解为某种确定形式,在求解时可以提供计算优势。
例如,一些模型分解成一系列完全独立的子问题。可以设置用户可调参数,因此解析器检查模型是否具有这样的结构。如果完全的分解是可能的,那么它将按顺序解决独立的问题,以达到原始模型的解决方案,这可能会导致戏剧性的速度改进。
在其他情况下,模型可能具有双角度结构,而且很少有连接列,在这种情况下,Benders分解求解器是非常有用的。具有较少连接行的原始角度结构模型可以利用BNP求解器。在使用内建的拉格朗日松弛程序中,BNP solver还可以帮助确定MIP问题的非常严格的界限。为了帮助识别不同的分解结构,我们提供了特殊的工具来确定下三角形、双角和棱角的结构。

■ 随机规划的功能(Stochastic Programming Features)
LINDO系统已经开始发布LINDO API的新版本,其中包括新功能,允许用户在优化模型中加入不确定性的特性。
随机编程接口(Stochastic Programming Interface)
-通过多阶段线性、非线性和整数随机规划(SP)对不确定因素进行建模和优化。
-广泛的API函数集设置和解决SP模型。
- Benders分解为求解线性SP模型。
-确定性等价的求解非线性和整数SP模型的方法。
-支持大多数(20 +)参数(连续或离散)分布。
-用户定义的分布函数,可以通过回调来使用。
-通过统计抽样API定制抽样方案。
统计抽样API(Statistical Sampling API)
-广泛的API函数直接从各种统计分布中取样,
-用超正方体和反偶变量抽样的方差还原法,
-通过皮尔森、斯皮尔曼或肯德尔相关措施生成相关样本。
-通过选择三种不同的发电机来产生伪随机数。
改进单纯形解算器 (Simplex Solver Improvements)
-大的线性模型用改进的原始和双解的速度平均快20%。

MIP解算器的改进(MIP Solver Improvements)
-在所有启发式上都有大量的改进,以便快速找到最理想的解决方案。
-对某些特殊型号结构的切割有显著改善。

全球解算器的改进(Global Solver Improvements)
-用二次项,特别是非凸二次表达式对非线性模型的处理有显著的改进。

■ 全面的历程 (Comprehensive set of Routines)
无论您的应用程序是大的还是小的、简单的还是复杂的,LINDO API都提供了您需要的灵活性和功能。
它包括了许多例程来制定、查询、修改和解决您的问题。

■ MATLAB方便的接口
- LINDO API的Windows版本可以作为MATLAB调用函数运行。
使用MATLAB的建模和编程环境,您可以构建和解决模型,并根据LINDO API的例程和求解器创建自定义算法。
MATLAB接口
将MATLAB建模和编程环境的灵活性和灵活性与LINDO API的优化能力联系起来(只支持Windows x86和Windows x64版本,LINDO可以支持Windows x32版本)。

LINDO API用户的Key Benefits

快速发展
使用LINDO API和MATLAB,您可以快速且容易地原型和构建优化模型和应用程序。
MATLAB为矩阵操作、高级编程语言和友好的建模环境提供了强大的工具。
这些特性可以让您快速创建和操作模型,而这些模型只需要较低级别语言(如c++或Visual Basic)所需的一小部分代码。

MATLAB用户的Key Benefits

解决大规模线性问题
MATLAB用户可以访问LINDO API优化器的能力和健壮性来解决大规模的线性规划问题。
可用的LP solvers套件包括Primal和双Simplex solvers,以及一个Barrier /内部点求解器。
在全世界成千上万的操作研究人员的大型模型中,这些相同的求解器已经进行了现场测试。
解决整数规划模型
MATLAB用户可以使用一个非常快的整数求解器。
integer solver包含了多种选项,可以让您定制解决方案策略,并将应用程序裁剪到特定的问题结构。
创建自定义算法
MATLAB用户对LINDO API的综合强大的优化例程有较低的访问权限。这可以让您快速创建根据自己的需要定制的算法。
无缝接口
该接口使LINDO API具有MATLAB可调用函数,这使得调用solver与使用MATLAB的本机函数一样简单。
文档和帮助
LINDO API提供了所需的所有工具,您需要快速启动和运行。
LINDO API用户手册完全描述了该程序的调用和特性,并包括示例m文件,说明其使用情况。

■ 分析不可行和无界模型
LINDO API包括允许您跟踪导致模型不可行或不受限制的工具。
工具将原始模型的一部分隔离为问题的根源。
这允许您将注意力集中在模型的相对较小的子部分上,以查找公式或数据输入错误。
在不可行的线性、非线性、二次和整数模型中,工具可以找到一个不可约的不一致的约束集(IIS),在无限的模型中,这些工具可以找到一个不可约的、无界的列集合(IUS)。

■ 创建Web和内部网应用程序
- LINDO API是线程安全的,允许您创建同时处理多个用户会话的web和网络应用程序。
网络和网络应用需要特别许可。

■ 模型尺寸的灵活性
-为什么付出比你实际需要的多?LINDO API有多种不同的功能。
容量范围从几百个变量到具有无限容量的版本,所以您可以选择最适合您需要的产品。

■ Java本地连接接口Java Native Interface
LINDO API支持Windows、Solaris和Linux平台上的Java本地接口(JNI)支持。
这个新特性允许用户从Java应用程序中调用LINDO API,例如从浏览器运行的程序(such as applets running from a browser.)。

■ .NET网络接口.NET Interface
Linda API 包括C#和 VB.NET两种开发界面,可以使用 .NET的分布计算环境(包括windows表格,ADO.NET 和ASP.NET)。开发界面在类窗口来实现对.NET代码的管理,通过一个名为“"System.Runtime.InteropServices"”的函数包来与未被直接使用的LINDO API 编码进行交互

■ Ox接口Ox Interface
这个接口为用户提供了Ox统计软件包,调用LINDO API的功能与调用原生的Ox函数的方式相同。这个接口提供了更大的灵活性,以开发更高级别的Ox例程,可以设置和解决不同类型的大规模优化问题,测试新的算法想法或表达新的解决方案技术。

■ Python接口Python Interface
Python接口允许在用Python语言编写的应用程序中使用LINDO API。
使用Python的广泛编程环境,您可以构建并解决C API支持的所有模型类型。
Python接口特别适合快速开发和测试算法理念。

■ R语言接口R Interface
R接口允许在R语言编写的应用程序中使用LINDO API。结合R的广泛统计和数据挖掘工具,LINDO API的R接口提供了统计分析和优化的无缝可能性。在R接口中可以使用C API支持的所有模型类型。


■ 迅速、容易的应用程序开发
LINDO API 可以使你容易地将最佳化的功能整合到你自己开发的应用程序中。 LINDO API 附有完整的文件和范例帮助您迅速上手。
■ 完整的求解程序
LINDO API 提供了你需要的弹性和功能,不管你的应用程序是大或小,简单或复杂。它包含了几十个程序(routine)来公式化、求解、查询和修改你的问题。
■ 广泛的文件和HELP功能
LINDO API 提供的所有工具和文件可使你迅速入门和上手。 LINDO API使用者手册有详细的功能定义。
■ 分析不可实行和无边际模型(Infeasible and Unbounded Models)
LINDO API 内含工具可以找出导致模型无合理解或无边际模型的原因。
■ 建立因特网和企业内部网络的应用程序
LINDO API 允许你建立因特网和企业内部网络的应用程序可同时供多人使用。

 
 

版权所有:林度林构(科技)有限公司 津ICP备 17008146 号
津公网安备12010402002038号
电话:13810555120
工信部网站   全国互联网安全