LINGO 10是由美国 Lindo 系统公司开发的一款交互式的线性和通用优化求解器,对于交互式的线性和通用优化求解的问题,这款软件都可以快速帮你解决,不过其最大特色在于他可以允许优化模型中的决策变量是整数(即整数规划),且执行速度非常快,可以说是使建立和求解线性、非线性和整数最佳化模型更快更简单更有效率的综合工具。作为著名的专业优化软件,其功能强大、计算效果好,应用的范围也是非常广泛,包含生产线规划、运输、财务金融、投资分配、资本预算、混合排程、库存管理、资源配置等,Lingo 10主要用于求解线性和非线性优化问题,提供了丰富的功能模块,可以帮助用户快速的构建和求解线性、非线性和整数最优化模型,提供强大的语言和快速的求解引擎来阐述和求解最佳化模型,具有操作简单、直观的模型表达、人性化的数据选项、读取和写入Excel和数据库等功能,同时还拥有强大的求解器和方便的数据输入输出,除了具有求解之外,还具有分析结果的特色,让用户知其然更知其所以然。
自带了众多的函数,包含大量数学,财经,集合,概率密度,接口,报告等函数。
2、电子表格程序能力
电子表格程序是今天用来保存数据的最常用和方便的工具之一,同样它们也是呈现您模型生成结果的非常有用的工具.直接链接到电子表格程序的能力允许您充分利用电子表格程序环境的功能和灵活性.
3、方便的模型表达
将帮助您节省您的开发时间。它让您以一种高度的可读形式来快速公式化您的线性,非线性和整数问题。LINGO的建模语言允许您使用汇总和下标变量以一种易懂的直观的方式来表达模型,非常类似您在使用纸和笔。模型更加容易构建,更容易理解,因此也更容易维护。
4、方便的数据选项
让您管理您的数据不再费时间和麻烦。它允许您直接从数据库和电子表格程序中提取数据来构建模型.同样的,能够直接输出解答信息到数据库或电子表格程序中,使得您能够在您选择的应用程序中生成报告.
5、强大的求解器
拥有一整套快速的,内建的求解器用来求解线性的,非线性的(球面&非球面的),二次的,二次约束的,和整数优化问题.您甚至不需要指定或启动特定的求解器,因为软件会读取您的方程式并自动选择合适的求解器.
6、交互式模型或创建Turn-key应用程序
您能够在软件内创建和求解模型,或您能够从您自己编写的应用程序中直接调用.对于开发交互式模型,提供了一整套建模环境来构建,求解和分析您的模型.对于构建turn-key解决方案,提供的可调用的DLL和OLE界面能够从用户自己写的程序中被调用.也能够从Excel宏或数据库应用程序中被直接调用.
7、详尽的文档和帮助
提供了所有的您需要快速启动和运行的工具.您能得到一本User Manual(以打印的格式,可通过在线帮助获得),该手册详尽的描述了程序的命令和功能.同样高级版本带有一本更大的Optimization Modeling with LINGO手册,这是一本综合教科书,讨论了所有主要的线性,整数和非线性优化问题分类.同时还带有许多基于真实世界的案例可用来修改和扩展.
8、数据库能力
数据库是要管理大量信息的首选工具,使用ODBC技术来允许您访问在任何常用Windows数据库应用程序中的集合信息和数据.在您的模型中使用单个声明,您能够在软件和数据库应用程序中转换数据
支持一种强大的,基于集合的建模语言,该语言允许用户高效而紧凑地表达数学编程模型。使用这个软件的内部脚本功能可以迭代解决多个模型。
2、便的数据选项
花费时间和精力来管理数据。它使您可以构建直接从数据库和电子表格中提取信息的模型。同样,可以将解决方案信息直接输出到数据库或电子表格中,从而使您更轻松地在自己选择的应用程序中生成报告。模型和数据的完全分离增强了模型的维护和可伸缩性。
3、交互式建模或创建交钥匙应用程序
您可以在软件中构建和求解模型,也可以直接从编写的应用程序中调用。为了以交互方式开发模型,提供了一个完整的建模环境来构建,求解和分析您的模型。对于构建交钥匙解决方案,带有可调用的DLL和OLE接口,可以从用户编写的应用程序中调用它们。也可以直接从Excel宏或数据库应用程序中调用。 当前包括C / C ++,FORTRAN,Java,C#.NET,VB.NET,ASP.NET,Visual Basic,Delphi和Excel的编程示例。
4、广泛的文档和帮助
提供了快速启动和运行所需的所有工具。您将获得用户手册(印刷版,可通过在线帮助获得),该手册全面描述了该程序的命令和功能。超级版本和更大版本中还包括优化建模的副本,这是一份全面的建模文本,讨论了线性,整数和非线性优化问题的所有主要类别。还提供了许多基于现实世界的示例,供您修改和扩展。
5、强大的求解器和工具
可提供一组全面的快速内置求解器,用于线性,非线性(凸和非凸),二次,二次约束和整数优化。您无需指定或加载单独的求解器,因为会读取您的公式并自动选择合适的求解器。在软件中可用的求解器和工具的一般说明如下:
6、通用非线性求解器
提供一般的非线性和非线性/整数功能。为了使用LINDO API的非线性功能,需要使用非线性许可选项。
7、全局求解器
全局求解器在分支定界框架内结合了一系列范围边界(例如区间分析和凸分析)和范围缩小技术(例如线性规划和约束传播),以找到经过验证的非凸非线性程序的整体解。传统的非线性求解器可能会卡在次优的局部解中。使用全局求解器时,情况不再如此。
8、多启动求解器
多起点求解器在NLP和混合整数NLP的求解空间中智能地生成候选起点序列。每个起点都需要调用传统的NLP求解器,以找到局部最优值。对于非凸NLP模型,多起点求解器发现的最佳解决方案的质量往往优于传统非线性求解器的单个解决方案。用户可调参数控制要执行的最大多次启动次数。
9、屏障求解器
障碍求解器是解决线性,二次和圆锥问题的一种替代方法。最先进的屏障方法实现为大型,稀疏模型提供了巨大的速度优势。
10、单纯形求解器
提供了原始和对偶单纯形法的两种高级实现,作为解决线性编程问题的主要手段。其灵活的设计允许用户通过更改一些算法参数来微调每种方法。
11、混合整数求解器
软件的混合整数求解器的功能扩展到线性,二次和一般非线性整数模型。它包含几种高级解决方案技术,例如剪切生成,动态减少树增长的树重新排序以及先进的启发式和预解决策略。
12、随机解算器
随机规划求解器通过具有追索权的多阶段随机模型支持不确定情况下的决策。用户通过识别分布函数(内置的或用户定义的)描述不确定性
#not# 否定该操作数的逻辑值,#not#是一个一元运算符
#eq# 若两个运算数相等,则为true;否则为flase
#ne# 若两个运算符不相等,则为true;否则为flase
#gt# 若左边的运算符严格大于右边的运算符,则为true;否则为flase
#ge# 若左边的运算符大于或等于右边的运算符,则为true;否则为flase
#lt# 若左边的运算符严格小于右边的运算符,则为true;否则为flase
#le# 若左边的运算符小于或等于右边的运算符,则为true;否则为flase
#and# 仅当两个参数都为true 时,结果为true;否则为flase
二、标准数学函数
@abs(x):返回x 的绝对值
@sin(x):返回x 的正弦值,x 采用弧度制
@cos(x):返回x 的余弦值
@tan(x) 返回x 的正切值
@exp(x) 返回常数e 的x 次方
@log(x) 返回x 的自然对数
@lgm(x) 返回x 的gamma 函数的自然对数
@mod(x)
@sign(x) 如果x<0 返回-1;否则,返回1
@floor(x) 返回x 的整数部分。当x>=0 时,返回不超过x 的最大整数;当x<0 时,返回不低于x 的最大整数。
@smax(x1,x2,…,xn) 返回x1,x2,…,xn 中的最大值
@smin(x1,x2,…,xn) 返回x1,x2,…,xn 中的最小值
三、概率函数
1、@pbn(p,n,x)
二项分布的累积分布函数。当n 和(或)x 不是整数时,用线性插值法进行计算。
2、@pcx(n,x)
自由度为n 的x2 分布的累积分布函数。
3、@peb(a,x)
当到达负荷为a,服务系统有x 个服务器且允许无穷排队时的Erlang 繁忙概率。
4、@pel(a,x)
当到达负荷为a,服务系统有x 个服务器且不允许排队时的Erlang 繁忙概率。
5、@pfd(n,d,x)
自由度为n 和d 的F 分布的累积分布函数。
6、@pfs(a,x,c)
当负荷上限为a,顾客数为c,平行服务器数量为x 时,有限源的Poisson 服务系统的等待或返修顾客数的期望值。a 是顾客数乘以平均服务时间,再除以平均返修时间。当c 和(或)x 不是整数时,采用线性插值进行计算
7、@phg(pop,g,n,x)
超几何(Hypergeometric)分布的累积分布函数。pop 表示产品总数,g 是正品数。从所有产品中任意取出n(n≤pop)件。pop,g,n 和x 都可以是非整数,这时采用线性插值进行计算
8、@ppl(a,x)
Poisson 分布的线性损失函数,即返回max(0,z-x)的期望值,其中随机变量z服从均值为a的Poisson 分布。
9、@pps(a,x)
均值为a 的Poisson 分布的累积分布函数。当x 不是整数时,采用线性插值进行计算
10、@psl(x)
单位正态线性损失函数,即返回max(0,z-x)的期望值,其中随机变量z 服从标准正态分布
11、@psn(x)
标准正态分布的累积分布函数
12、@ptd(n,x)
自由度为n 的t 分布的累积分布函数
13、@qrand(seed)
产生服从(0,1)区间的拟随机数。@qrand 只允许在模型的数据部分使用,它将用拟随机数填满集属性。通常,声明一个m×n 的二维表,m 表示运行实验的次数,n 表示每次实验所需的随机数的个数。在行内,随机数是独立分布的;在行间,随机数是非常均匀的。这些随机数是用“分层取样”的方法产生的。如果没有为函数指定种子,那么软件将用系统时间构造种子
14、@rand(seed)
返回0和1间的伪随机数,依赖于指定的种子。典型用法是U(I+1)=@rand(U(I))。注意如果seed 不变,那么产生的随机数也不变
四、命令
1、信息
Cat 显示所有命令类型
Com 按类型显示所用命令
Help 显示所需命令的简要帮助信息
Mem 显示内存变量的信息
2、输入(Input)
model 以命令行方式输入一个模型
take 执行一个文件的命令正本或从磁盘中读取某个模型文件
3、显示(Display)
look 显示当前模型的内容
genl 产生兼容的模型
gen 生成并显示整个模型
hide 为模型设置密码保护
pause 暂停屏幕输出直至再次使用此命令
4、文件输出(File Ouput)
div 将模型结果输出到文件
svrt 将模型结果输出到屏幕
save 将当前模型保存到文件
smps 将当前模型保存为MPS 文件
5、求解模型(Solution)
go 求解当前模型
solu 显示当前模型的求解结果
6、编辑模型(Problem Editing)
del 从当前模型中删除指定的某一行或某两行之间(包括这两行)的所有行
ext 在当前模型中添加几行
alt 用新字符串替换掉某一行中、或某两行之间的所有行中的旧字符串
7、退出系统(Quit)
quit 退出系统
8、系统参数(System Parameters)
page 以“行”为单位设置每页长度
ter 以简略方式输出结果
ver 以详细方式输出结果
wid 以“字符”为单位设置显示和输出宽度
set 重新设置默认参数
freeze 保存当前参数设置,以备下一次重新启动软件系统时还是这样的设置
time 显示本次系统的运行时间
使用说明
该软件为绿色破解版,解压缩运行即可免费使用,无需在进行注册激活操作应用亮点
1、众多的内置函数自带了众多的函数,包含大量数学,财经,集合,概率密度,接口,报告等函数。
2、电子表格程序能力
电子表格程序是今天用来保存数据的最常用和方便的工具之一,同样它们也是呈现您模型生成结果的非常有用的工具.直接链接到电子表格程序的能力允许您充分利用电子表格程序环境的功能和灵活性.
3、方便的模型表达
将帮助您节省您的开发时间。它让您以一种高度的可读形式来快速公式化您的线性,非线性和整数问题。LINGO的建模语言允许您使用汇总和下标变量以一种易懂的直观的方式来表达模型,非常类似您在使用纸和笔。模型更加容易构建,更容易理解,因此也更容易维护。
4、方便的数据选项
让您管理您的数据不再费时间和麻烦。它允许您直接从数据库和电子表格程序中提取数据来构建模型.同样的,能够直接输出解答信息到数据库或电子表格程序中,使得您能够在您选择的应用程序中生成报告.
5、强大的求解器
拥有一整套快速的,内建的求解器用来求解线性的,非线性的(球面&非球面的),二次的,二次约束的,和整数优化问题.您甚至不需要指定或启动特定的求解器,因为软件会读取您的方程式并自动选择合适的求解器.
6、交互式模型或创建Turn-key应用程序
您能够在软件内创建和求解模型,或您能够从您自己编写的应用程序中直接调用.对于开发交互式模型,提供了一整套建模环境来构建,求解和分析您的模型.对于构建turn-key解决方案,提供的可调用的DLL和OLE界面能够从用户自己写的程序中被调用.也能够从Excel宏或数据库应用程序中被直接调用.
7、详尽的文档和帮助
提供了所有的您需要快速启动和运行的工具.您能得到一本User Manual(以打印的格式,可通过在线帮助获得),该手册详尽的描述了程序的命令和功能.同样高级版本带有一本更大的Optimization Modeling with LINGO手册,这是一本综合教科书,讨论了所有主要的线性,整数和非线性优化问题分类.同时还带有许多基于真实世界的案例可用来修改和扩展.
8、数据库能力
数据库是要管理大量信息的首选工具,使用ODBC技术来允许您访问在任何常用Windows数据库应用程序中的集合信息和数据.在您的模型中使用单个声明,您能够在软件和数据库应用程序中转换数据
功能特色
1、代数建模语言支持一种强大的,基于集合的建模语言,该语言允许用户高效而紧凑地表达数学编程模型。使用这个软件的内部脚本功能可以迭代解决多个模型。
2、便的数据选项
花费时间和精力来管理数据。它使您可以构建直接从数据库和电子表格中提取信息的模型。同样,可以将解决方案信息直接输出到数据库或电子表格中,从而使您更轻松地在自己选择的应用程序中生成报告。模型和数据的完全分离增强了模型的维护和可伸缩性。
3、交互式建模或创建交钥匙应用程序
您可以在软件中构建和求解模型,也可以直接从编写的应用程序中调用。为了以交互方式开发模型,提供了一个完整的建模环境来构建,求解和分析您的模型。对于构建交钥匙解决方案,带有可调用的DLL和OLE接口,可以从用户编写的应用程序中调用它们。也可以直接从Excel宏或数据库应用程序中调用。 当前包括C / C ++,FORTRAN,Java,C#.NET,VB.NET,ASP.NET,Visual Basic,Delphi和Excel的编程示例。
4、广泛的文档和帮助
提供了快速启动和运行所需的所有工具。您将获得用户手册(印刷版,可通过在线帮助获得),该手册全面描述了该程序的命令和功能。超级版本和更大版本中还包括优化建模的副本,这是一份全面的建模文本,讨论了线性,整数和非线性优化问题的所有主要类别。还提供了许多基于现实世界的示例,供您修改和扩展。
5、强大的求解器和工具
可提供一组全面的快速内置求解器,用于线性,非线性(凸和非凸),二次,二次约束和整数优化。您无需指定或加载单独的求解器,因为会读取您的公式并自动选择合适的求解器。在软件中可用的求解器和工具的一般说明如下:
6、通用非线性求解器
提供一般的非线性和非线性/整数功能。为了使用LINDO API的非线性功能,需要使用非线性许可选项。
7、全局求解器
全局求解器在分支定界框架内结合了一系列范围边界(例如区间分析和凸分析)和范围缩小技术(例如线性规划和约束传播),以找到经过验证的非凸非线性程序的整体解。传统的非线性求解器可能会卡在次优的局部解中。使用全局求解器时,情况不再如此。
8、多启动求解器
多起点求解器在NLP和混合整数NLP的求解空间中智能地生成候选起点序列。每个起点都需要调用传统的NLP求解器,以找到局部最优值。对于非凸NLP模型,多起点求解器发现的最佳解决方案的质量往往优于传统非线性求解器的单个解决方案。用户可调参数控制要执行的最大多次启动次数。
9、屏障求解器
障碍求解器是解决线性,二次和圆锥问题的一种替代方法。最先进的屏障方法实现为大型,稀疏模型提供了巨大的速度优势。
10、单纯形求解器
提供了原始和对偶单纯形法的两种高级实现,作为解决线性编程问题的主要手段。其灵活的设计允许用户通过更改一些算法参数来微调每种方法。
11、混合整数求解器
软件的混合整数求解器的功能扩展到线性,二次和一般非线性整数模型。它包含几种高级解决方案技术,例如剪切生成,动态减少树增长的树重新排序以及先进的启发式和预解决策略。
12、随机解算器
随机规划求解器通过具有追索权的多阶段随机模型支持不确定情况下的决策。用户通过识别分布函数(内置的或用户定义的)描述不确定性
常用字符及函数
一、逻辑运算符#not# 否定该操作数的逻辑值,#not#是一个一元运算符
#eq# 若两个运算数相等,则为true;否则为flase
#ne# 若两个运算符不相等,则为true;否则为flase
#gt# 若左边的运算符严格大于右边的运算符,则为true;否则为flase
#ge# 若左边的运算符大于或等于右边的运算符,则为true;否则为flase
#lt# 若左边的运算符严格小于右边的运算符,则为true;否则为flase
#le# 若左边的运算符小于或等于右边的运算符,则为true;否则为flase
#and# 仅当两个参数都为true 时,结果为true;否则为flase
二、标准数学函数
@abs(x):返回x 的绝对值
@sin(x):返回x 的正弦值,x 采用弧度制
@cos(x):返回x 的余弦值
@tan(x) 返回x 的正切值
@exp(x) 返回常数e 的x 次方
@log(x) 返回x 的自然对数
@lgm(x) 返回x 的gamma 函数的自然对数
@mod(x)
@sign(x) 如果x<0 返回-1;否则,返回1
@floor(x) 返回x 的整数部分。当x>=0 时,返回不超过x 的最大整数;当x<0 时,返回不低于x 的最大整数。
@smax(x1,x2,…,xn) 返回x1,x2,…,xn 中的最大值
@smin(x1,x2,…,xn) 返回x1,x2,…,xn 中的最小值
三、概率函数
1、@pbn(p,n,x)
二项分布的累积分布函数。当n 和(或)x 不是整数时,用线性插值法进行计算。
2、@pcx(n,x)
自由度为n 的x2 分布的累积分布函数。
3、@peb(a,x)
当到达负荷为a,服务系统有x 个服务器且允许无穷排队时的Erlang 繁忙概率。
4、@pel(a,x)
当到达负荷为a,服务系统有x 个服务器且不允许排队时的Erlang 繁忙概率。
5、@pfd(n,d,x)
自由度为n 和d 的F 分布的累积分布函数。
6、@pfs(a,x,c)
当负荷上限为a,顾客数为c,平行服务器数量为x 时,有限源的Poisson 服务系统的等待或返修顾客数的期望值。a 是顾客数乘以平均服务时间,再除以平均返修时间。当c 和(或)x 不是整数时,采用线性插值进行计算
7、@phg(pop,g,n,x)
超几何(Hypergeometric)分布的累积分布函数。pop 表示产品总数,g 是正品数。从所有产品中任意取出n(n≤pop)件。pop,g,n 和x 都可以是非整数,这时采用线性插值进行计算
8、@ppl(a,x)
Poisson 分布的线性损失函数,即返回max(0,z-x)的期望值,其中随机变量z服从均值为a的Poisson 分布。
9、@pps(a,x)
均值为a 的Poisson 分布的累积分布函数。当x 不是整数时,采用线性插值进行计算
10、@psl(x)
单位正态线性损失函数,即返回max(0,z-x)的期望值,其中随机变量z 服从标准正态分布
11、@psn(x)
标准正态分布的累积分布函数
12、@ptd(n,x)
自由度为n 的t 分布的累积分布函数
13、@qrand(seed)
产生服从(0,1)区间的拟随机数。@qrand 只允许在模型的数据部分使用,它将用拟随机数填满集属性。通常,声明一个m×n 的二维表,m 表示运行实验的次数,n 表示每次实验所需的随机数的个数。在行内,随机数是独立分布的;在行间,随机数是非常均匀的。这些随机数是用“分层取样”的方法产生的。如果没有为函数指定种子,那么软件将用系统时间构造种子
14、@rand(seed)
返回0和1间的伪随机数,依赖于指定的种子。典型用法是U(I+1)=@rand(U(I))。注意如果seed 不变,那么产生的随机数也不变
四、命令
1、信息
Cat 显示所有命令类型
Com 按类型显示所用命令
Help 显示所需命令的简要帮助信息
Mem 显示内存变量的信息
2、输入(Input)
model 以命令行方式输入一个模型
take 执行一个文件的命令正本或从磁盘中读取某个模型文件
3、显示(Display)
look 显示当前模型的内容
genl 产生兼容的模型
gen 生成并显示整个模型
hide 为模型设置密码保护
pause 暂停屏幕输出直至再次使用此命令
4、文件输出(File Ouput)
div 将模型结果输出到文件
svrt 将模型结果输出到屏幕
save 将当前模型保存到文件
smps 将当前模型保存为MPS 文件
5、求解模型(Solution)
go 求解当前模型
solu 显示当前模型的求解结果
6、编辑模型(Problem Editing)
del 从当前模型中删除指定的某一行或某两行之间(包括这两行)的所有行
ext 在当前模型中添加几行
alt 用新字符串替换掉某一行中、或某两行之间的所有行中的旧字符串
7、退出系统(Quit)
quit 退出系统
8、系统参数(System Parameters)
page 以“行”为单位设置每页长度
ter 以简略方式输出结果
ver 以详细方式输出结果
wid 以“字符”为单位设置显示和输出宽度
set 重新设置默认参数
freeze 保存当前参数设置,以备下一次重新启动软件系统时还是这样的设置
time 显示本次系统的运行时间
∨ 展开