LINDO API8.0 - 优化求解器和数学规划工具的功能强大的库
在LINDO API的概述:
与LINDO API,您可以轻松地创建自己的优化的应用程序。它可以让你插上LINDO求解器的功率右侧定制化应用,并且已经编写的数学课程。最近发布的LINDO API8.0包含了许多显著增强功能和新功能。
在LINDO API的主要优点:
快速,简便的应用程序开发
- 该LINDO API,很容易让你无缝地集成到优化自己的应用程序。开发接口已被设计为最大的易于使用性和灵活性。它配备了清晰,全面的文档和示例,以帮助您快速上手。
强大的求解器
- LINDO API提供了强大的求解器进行随机,线性,非线性(凸与非凸/全球) ,二次,二次约束,二阶锥优化的整数阿森纳。所有的求解器包括许多增强功能的最大速度和鲁棒性。
随机规划特点
- LINDO系统公司已经开始出货的LINDO API的新版本,包括新的功能,允许用户把不确定性纳入其优化模型。
综合组例程的
- 无论您的应用是大或小,简单或复杂, LINDO API提供了灵活性和功能,你需要。它包括几十个例程,制定,解决,查询和修改你的问题。
方便的接口MATLAB
- 在Windows 32位和64位版本的LINDO API,可以作为一个MATLAB可调用函数。利用MATLAB的建模和编程环境,可以建模和求解,并建立基于LINDO API的程序和求解器自定义算法。
广泛的文档和帮助
- LINDO API提供了所有的工具,你将需要得到启动和运行迅速。你得到的LINDO API用户手册(印刷本和pdf格式可上网) ,包括所有例程详细的功能定义。也包括在手册中是一个讨论,以帮助您编写自己的applications.applications 。
分析不可行和无界模型
- LINDO API包括工具,可让您追踪到是什么原因造成的模式是不可行或无界。工具分离原始模型的一部分作为该问题的根源。这可以让你集中你的注意力在一个相对较小的分段模型,寻找配方或数据录入错误。上不可行线性,非线性,二次和整数模型,这些工具可以找到一个不能简化不一致的约束集(IIS )中,并在无界模型,这些工具可以找到一个不可简化的无界集列( IUS )的。
创建Web和Intranet应用
- 该LINDO API是线程安全的,允许你创建Web和网络应用程序,处理多个用户会话同时进行。 Web和网络应用需要特殊的许可。联系LINDO系统的更多信息。
型号尺寸灵活性
- 为什么要支付比你需要更多的容量?该LINDO API可在各种不同的容量。的容量范围从几百变量与无限容量的版本,所以你可以选择最适合您的某个特定问题需求的产品。
功能强大的API LINDO求解
LINDO API包含了一套内置的求解器来解决各种各样的问题。它提供的算法和求解参数的控制。这允许用户定制的解决策略,以各个应用程序,以实现最佳的控制和速度。
线性求解器
该LINDO API提供三种国家最先进的解决线性模型。
原始和对偶单纯形求解器
基本版本包括原始和对偶单纯形求解器,其中包含许多增强功能的最大速度和鲁棒性。定价选项,例如,包括部分定价和DEVEX 。你必须选择根据问题特性的最佳定价策略的选项。
屏障求解
可选的屏障求解器提供了求解线性模型的另一种手段。障碍期权利用围堤或内点法来求解线性模型。不同于单纯求解器,沿着可行域的外部移动,道闸求解器通过内部空间移动到找到最佳。根据特定模型的大小和结构,道闸求解器可能比单纯求解显著更快,可以在大型线性模型提供了优异的速度 - 特别是在稀疏模式与5000多名限制或高度退化模型。所需的屏障许可证选项利用障碍求解器。
整数规划求解
对于一般的二进制整数限制车型, LINDO API包含一个整数求解器,与线性,非线性和二次求解器一起工作。对于线性模型,你必须以量身打造的解决方案策略,并应用不同类别的削减,以确保最高车速上特定的问题结构的能力。
非线性求解器
LINDO API是第一个全功能的调用求解器提供一般的非线性性能。 LINDO API包括许多方法来寻找局部或全局最优解非线性模型。
一般非线性求解器
对于非线性规划模型,利用LINDO API,可选的非线性求解器的主要基础技术是基于一种广义简约梯度( GRG )算法。然而,为了帮助得到一个很好的可行的解决方案快速, LINDO API还采用了连续线性规划( SLP ) 。非线性solvertakes优势稀疏性,以提高速度和更高效的内存使用情况。所需的非线性许可证选项来解决非线性模型。
全球求解
本地搜索求解器一般设计只有等到他们已经确定了局部最优搜索。如果模型是非凸的,其他的局部最优解可能存在的产量显著更好的解决方案。而不是停止在找到第一个局部最优解后,全球求解器将搜索到全局最优解被确认。全球求解器转换成原来的非凸,非线性问题分解成几个凸,线性子问题。然后,它使用分支定界技术的大量搜索过这些子问题的全球解决方案。非线性和全局许可选项都需要利用全局优化能力。
多重启动求解器
在有限的时间,使寻找全局最优望而却步,在多重启动求解器可以是一个强大的工具,更快速地找到好的解决方案。这个智能地生成解空间的一组候选起始点。那么,一般的非线性求解器智能选择这些子集来初始化一系列的局部优化。对于非凸的非线性模型,由多重启动求解器返回的解决方案的质量将优于一般的非线性求解器。非线性和全局许可选项都需要利用多重启动功能。
二次规划求解
除了求解线性和混合整数模型,与障碍期权LINDO API,可以自动检测并解决模型中,目标函数和/或一些制约因素包括二次项。通过采取二次结构的优势, LINDO API可要比使用一般的非线性求解器更快速地解决这些模型。 LINDO API甚至可以处理二次模型与二进制和一般整数的限制。这些二次功能使LINDO API适合于应用,如组合优化问题,约束的回归问题,以及某些类别的后勤困难问题(例如,布局问题,与二次目标固定充电网络问题) 。二次求解器是包含在屏障许可证选项。
圆锥曲线求解
圆锥选项LINDO API包括一个圆锥曲线求解器有效地解决二阶锥问题( SOCP ) 。通过表达一定的非线性模型为SOCPs ,圆锥曲线求解器可以用来求解该模型大大超过了一般的非线性求解器更快。道闸和圆锥选项是必需利用圆锥曲线求解器。
随机规划求解
把风险转化为多阶段优化模型,最大化预期利润,并总结成绩的直方图显示可能的利润分配等这个新的选项允许建模和优化,以通过多阶段随机线性,非线性和整数随机规划的不确定因素模型( SP ) 。弯管机分解用于解决大型线性SP的机型。确定性等价方法用于求解非线性和整数的SP模式。支持适用于超过20种的分布(离散或连续) 。随机规划求解器是包含在随机规划的选项。
预处理和用户控制
预处理程序被包含在所有的求解器。线性和非线性求解器,包括缩放和模型降阶技术。缩放程序,可以提高数值模式难以速度和鲁棒性。模型降阶技术往往可以使模型解决更快通过分析原始配方和数学上凝结成一个较小的问题。整数求解器包括大量的预处理和切割生成程序。
LINDO API被设计,所以用户必须尽可能多地控制输入到解算器的可能。当启动解决程序, LINDO API,分析问题,并认为由用户设置,以实现您的特定问题的最佳性能内部参数。
线性化
LINDO API的线性帽常用非光滑函数。该功能可以自动转换许多非光滑函数和运算符(例如,最大值和绝对值)进行一系列线性的,数学上等价表达式。许多非光滑模型可以完全线性化。这使得线性求解器快速找到一个全球性的解决方案会是怎样,否则一直和棘手的问题。
随机规划特点
LINDO API包括功能,允许用户把不确定性纳入其优化模型。
随机编程接口
?建模与优化通过多级线性,非线性和整数随机规划( SP)的不确定因素。
?丰富的API函数来设置和解决的SP模式。
?弯管机分解求解线性SP的机型。
?求解非线性和整数SP模型确定性等价方法。
?支持大多数( 20 + )参数(连续或离散)分布。
?通过回调中使用用户定义的分布函数。
?通过统计抽样的API定制的采样方案。
统计抽样的API
?丰富的API函数来从不同的统计分布直接采样,
?减少方差与拉丁超立方和防正题分布随机抽样,
?通过皮尔逊,斯皮尔曼,或肯德尔相关措施,相关样本的生成。
?通过三种不同的发电机可以选择伪随机数生成。
单纯求解器的改进
?大型线性模型解决了平均20 %的速度改进原始和对偶求解。
MIP求解器的改进
?主要的改进在所有方法可以找到接近最优的解决方案很快。
?显着改善在削减某些类型的特殊的模型结构。
全球求解器的改进
?显着改善非线性模型与二次项,尤其是非凸二次表达式的处理。
全面的例程
下面是程序按类别列表。有关特定功能的更多信息,请参阅LINDO API用户手册或使用试用版安装lindoapi.pdf文件。
输入输出
LSreadLINDOFile ( )
LSreadMPSFile ( )
LSreadMPIFile ( )
LSwriteDualLINDOFile ( )
LSwriteDualMPSFile ( )
LSwriteLINDOFile ( )
LSwriteLINGOFile ( )
LSwriteMPSFile ( )
LSwriteSolution ( )
LSwriteIIS ( )
LSwriteIUS ( )
模型修正
LSaddConstraints ( )
LSaddVariables ( )
LSdeleteConstraints ( )
LSdeleteQCterms ( )
LSdeleteVariables ( )
LSmodifyAij ( )
LSmodifyConstraintType ( )
LSmodifyLowerBounds ( )
LSmodifyObjConstant ( )
LSmodifyObjective ( )
LSmodifyRHS ( )
LSmodifyUpperBounds ( )
LSmodifyVariableType ( )
解决方案查询
LSgetInfo ( )
LSgetBasis ( )
LSgetPrimalSolution ( )
LSgetReducedCosts ( )
LSgetDualSolution ( )
LSgetSlacks ( )
LSgetMIPSlacks ( )
LSgetMIPPrimalSolution ( )
LSgetMIPDualSolution ( )
LSgetMIPReducedCosts ( )
LSgetMIPBasis ( )
回调管理
LSgetCallbackInfo ( )
LSgetMIPCallbackInfo ( )
LSsetCallback ( )
LSsetMIPCallback ( )
LSsetFuncalc ( )
LSsetGradcalc ( )
参数设置和检索
LSgetEnvDouParameter ( )
LSgetEnvIntParameter ( )
LSgetEnvParameter ( )
LSgetModelDouParameter ( )
LSgetModelIntParameter ( )
LSgetModelParameter ( )
LSsetEnvDouParameter ( )
LSsetEnvIntParameter ( )
LSsetEnvParameter ( )
LSsetModelDouParameter
LSsetModelIntParameter ( )
LSsetModelParameter ( )
型号查询
LSgetConstraintDatai ( )
LSgetConstraintIndex ( )
LSgetConstraintNamei ( )
LSgetLPConstraintDatai ( )
LSgetLPData ( )
LSgetLPVariableDataj ( )
LSgetVarType ( )
LSgetVarStartPoint ( )
LSgetNameData ( )
LSgetQCData ( )
LSgetQCDatai ( )
LSgetNLPData ( )
LSgetNLPConstraintDatai ( )
LSgetNLPVariableDataj ( )
LSgetNLPObjectiveData ( )
LSgetVariableIndex ( )
LSgetVariableNamej ( )
求解器初始化
LSloadBasis ( )
LSloadVarPriorities ( )
LSloadVarStartPoint ( )
LSreadVarPriorities ( )
LSreadVarStartPoint ( )
LSloadBlockStructure ( )
优化
LSsolveMIP ( )
LSoptimize ( )
LSsolveGOP ( )
错误处理
LSgetErrorMessage ( )
LSgetFileError ( )
内存管理
LSfreeHashMemory ( )
LSfreeMIPSolutionMemory ( )
LSfreeSolutionMemory ( )
LSfreeSolverMemory ( )
LSfreeGOPSolutionMemory ( )
结构创建和删除
LScreateEnv ( )
LScreateModel ( )
LSdeleteEnv ( )
LSdeleteModel ( )
模型加载中
LSloadLPData ( )
LSloadVarType ( )
LSloadNameData ( )
LSloadQCData ( )
LSloadNLPData ( )
LSloadInstruct ( )
模型和解决方案分析
LSgetBestBounds ( )
LSgetBoundRanges ( )
LSgetConstraintRanges ( )
LSfindIIS ( )
LSfindIUS ( )
LSgetObjectiveRanges ( )
LSfindBlockStructure ( )
LSgetIIS ( )
LSgetIUS ( )
LSgetBlockStructure ( )
许可信息
LSloadLicenseString ( )
先进
LSdoBTRAN ( )
LSdoFTRAN ( )
LScalcObjFunc ( )
LScalcObjGradN ( )
LScalcConFunc ( )
LScalcConGrad ( )
接口MATLAB
链接的易用性和的MATLAB建模和编程环境的灵活性与LINDO API的优化功率(在Windows 86和Windows 64位版本支持) 。
对于LINDO API的用户主要优点
快速发展
使用LINDO API和MATLAB ,您可以进行原型开发,建立优化模型和应用迅速和容易。 MATLAB包括用于矩阵运算,一个高层次的编程语言,和用户友好的建模环境中的有力工具。这些功能可以让您快速创建和操作模型所需的低级语言如C + +或Visual Basic编码的一小部分。
MATLAB的用户主要优点
求解大规模线性问题
MATLAB用户可以访问LINDO API,优化的电源和鲁棒性求解大规模线性规划问题。可用LP求解器套件包括原始和对偶单纯形求解器,以及一个屏障/内点求解器。这些相同的求解器已在现场大型模型由世界各地的成千上万的运筹学专业测试。
求解整数优化模型
MATLAB用户可以使用一个非常快速的整数解算器。整数求解器包括一个广泛的选择,可以让你定制的解决方案,战略和切割应用到特定的问题结构。
创建自定义算法
MATLAB用户必须将LINDO API的一整套功能强大的程序进行优化的低级别的访问。这可以让你快速创建定制您自己的需要的算法。
无缝接口
该界面使LINDO API的一个MATLAB可调用函数。这使得调用求解器是利用MATLAB的原生函数一样简单。
文档和帮助
LINDO API提供了所有的工具,你需要得到快速启动和运行。在LINDO API用户手册充分说明了程序的调用和功能,包括样品的M文件说明其用途。
[商家名称] 博德昆泰
[联系方式] 010-51661496/62533450/13611330796
[联 系 人] 梁小姐 胡先生 王女士 龙先生
[公司地址] 北京市海淀区海淀南路19号时代网络大厦9012室