lingo(求解线性建模软件)是一款来自国外,可以帮助用户快速、方便和有效的构建和求解器性、非线性和整数最优化模型的功能全面的工具,它可用来求解非线性规则,也可以用于一些线性和非线性方程组的求解等,无论是教学方面还是编程开发,这款软件都广泛应用,本次带来Windows32位操作系统的lingo 15官方版免费下载,需要的朋友欢迎前来下载使用!
lingo 15提供强大的语言和快速的求解引擎来阐述和求解最佳化模型,新版改进圆锥曲线求解器,在使用@POSD函数时,可通过增加的Semi-Definite Program (SDP)/Positive Definite (POSD)功能来增强圆锥曲线求解器选项的功能。同时新的lingo 15对整数规划求解也进行改进,改进的默认节点选择规则增强了对大部分整数规划模型的性能且全新的分支变量规则选项:最大系数和邻近分支,从而可以减少某些整数模型的分支数。此外,新版还对非线性规划求解器和预处理能力都进行了较大的改进,至于改进的效果用户自行体验吧。
lingo 15安装教程:
一、安装程序分为32位和64位,用户需根据自己的操作系统来进行安装的选择
二、双击“LINGO15.0WIN32.exe”或“LINGO15.0WIN64.exe”开始正式的安装
三、进入“欢迎安装lingo 15”界面,跳过浏览直接点击Next
四、勾选“I accept the terms in the license agreement”即同意此协议,点击“Next”
五、选择lingo 15的安装路径,默认路径为E:\LINGO15\,若需更改则点击“Change”即可更换安装路径,完成路径选择则点击“Next”
六、确定安装路径完全正确,若错误可点击
七、等待安装完成,完成即可完全免费的使用lingo 15
lingo 15新功能:
一、圆锥曲线求解器的改进
在使用使用@POSD函数时,通过增加的Semi-Definite Program (SDP)/Positive Definite (POSD)功能来增强圆锥曲线求解器选项的功能。例如,如果你在估计协方差矩阵的组合的时候,可以使用@POSD函数迫使矩阵是半正定的,这是任何协方差矩阵的必须需的性质
二、线性规划求解器的改进
1.增强了单纯形线性规划算法实现的速度和鲁棒性
2.相比上一个版本,LINGO15.0的性能在原始单纯形法提升了90%,对偶单纯形法提高了45%
三、整数规划求解的改进
1.背包问题相关的削减性改进,一些背包问题模型的求解速率明显增强
2.改进的默认节点选择规则增强了对大部分整数规划模型的性能
3.新的分支变量规则选项:最大系数和邻近分支,从而可以减少某些整数模型的分支数
4.由于视图再形成的能力,在二次投资组合模型与半连续变量方面的性能得到了提升,如最小购买量问题
四、非线性规划求解器的改进
1.改进的默认设置使非线性规划平均求解速度提高了5%
2.拥有更长的非线性表达式的非线性规划模型现在能够得到更快的处理
五、预处理能力的改进
1.对于线性和整数规划求解器,新预处理功能来显著减少了某些稠密矩阵的系数密度
六、其他改进
1.对于近凸二次规划(QP)功能的修正,使不太凸的QP问题上有了改进
2.其他多线程代码被添加到模型生成器用来减少大型模型的生成时间
软件特点:
1、简单的模型表示
Lingo 可以将线性、非线性和整数问题迅速得予以公式表示,并且容易阅读、了解和修改。LINGO的建模语言允许您使用汇总和下标变量以一种易懂的直观的方式来表达模型,非常类似您在使用纸和笔。模型更加容易构建,更容易理解,因此也更容易维护。
2、方便的数据输入和输出选择
Lingo 建立的模型可以直接从数据库或工作表获取资料。同样地,Lingo 可以将求解结果直接输出到数据库或工作表。使得您能够在您选择的应用程序中生成报告.
3、强大的求解器
LINGO拥有一整套快速的,内建的求解器用来求解线性的,非线性的(球面&;非球面的),二次的,二次约束的,和整数优化问题。您甚至不需要指定或启动特定的求解器,因为LINGO会读取您的方程式并自动选择合适的求解器。
4、交互式模型或创建Turn-key应用程序
您能够在LINGO内创建和求解模型,或您能够从您自己编写的应用程序中直接调用LINGO。对于开发交互式模型,LINGO提供了一整套建模环境来构建,求解和分析您的模型.对于构建turn-key解决方案,LINGO提供的可调用的DLL和OLE界面能够从用户自己写的程序中被调用。LINGO也能够从Excel宏或数据库应用程序中被直接调用.
lingo 15错误代码大全:
150 @ODBC函数在当前操作系统下不能使用(只在Windows操作系统下可以使用)
151 @POINTER函数在当前系统下不能使用(只在Windows操作系统下可以使用)
152 输入的命令在当前操作系统下不能使用
153 集合的初始化(定义元素)不能在初始段中进行,只能在集合段或数据段进行
154 集合名只能被定义一次
155 在数据段对集合进行初始化(定义元素)时,必须显示地列出所有元素,不能省略元素
156 在数据段对集合和(或)变量进行初始化时,给出的参数个数不符
157 @INDEX函数引用的集合名不存在
158 当前函数需要集合的成员名作为参数
159 派生集合中的一个成员(分量)不是对应的父集合的成员
160 数据段中的一个语句不能对两个(或更多)的集合进行初始化(定义元素)
161 (该错误编号目前没有使用)
162 电子表格文件中指定的单元范围内存在不同类型的数据(即有字符,又有数值),LINGO无法通过这些单元同时输入(或输出)不同类型的数据
163 在初始段对变量进行初始化时,给出的参数个数不符
164 模型中输入的符号名不符合LINGO的命名规则
165 当前的输出函数不能按集合进行输出
166 不同长度的输出对象无法同时输出到表格型的文件(如数据库和文本文件)
167 在通过Excel进行输入输出时,一次指定了多个单元范围
168 @DUAL,@RANGEU,@RANGED函数不能对文本数据(如集合的成员名)使用,而只能对变量和约束行使用
169 运行模型时才输入集合成员是不允许的
170 LINGO系统的密码输入错误,请重新输入
171 LINGO系统的密码输入错误,系统将以演示版方式运行
172 LINGO的内部求解程序发生了意想不到的错误(请与LINDO公司联系解决这个问题)
173 内部求解程序发生了数值计算方面的错误
174 LINGO预处理阶段(preprocessing)内存不足
175 系统的虚拟内存不足
176 LINGO后处理阶段(postprocessing)内存不足
177 为集合分配内存时出错(如内存不足等)
178 为集合分配内存时堆栈溢出
179 将MPS格式的模型文件转化成LINGO模型文件时出现错误(如变量名冲突等)
180 将MPS格式的模型文件转化成LINGO模型文件时,不能分配内存(通常是内存不足)
181 将MPS格式的模型文件转化成LINGO模型文件时,不能生成模型(通常是内存不足)
182 将MPS格式的模型文件转化成LINGO模型文件时出现错误(会给出出错的行号)
183 LINGO目前不支持MPS格式的二次规划模型文件
184 敏感性分析选项没有激活,敏感性分析不能进行(可通过“LINGO|Options”命令对General Solver选项卡中的“Dual Computation”选项进行修改)
185 没有使用内点法的权限(LINGO中的内点法是选件,需要额外购买)
186 不能用@QRAND函数对集合进行初始化(定义元素)
187 用@QRAND函数对属性进行初始化时,一次只能对一个属性进行处理
188 用@QRAND函数对属性进行初始化时,只能对稠密集合对应的属性进行处理
189 随机函数中指定的种子(SEED)无效
190 用隐式方法定义集合时,定义方式不正确
191 LINDOAPI返回了错误(请与LINDO公司联系解决这个问题)
192 LINGO不再支持@WKX函数,请改用@OLE函数
193 内存中没有当前模型的解(模型可能还没有求解,或者求解错误)
194 无法生成LINGO的内部环境变量(通常是因为内存不足)
195 写文件时出现错误(如磁盘空间不足)
196 无法为当前模型计算对偶解(这个错误非同寻常,欢迎你将这个模型提供给LINDO公司进行进一步分析)
197 调试程序目前不能处理整数规划模型
198 当前二次规划模型不是凸的,不能使用内点法,请通过“LINGO[Options,’命令取消对二次规划的判别
199 求解二次规划需要使用内点法,但您使用的LINGO版本没有这个权限(请通过“LINGO|Options”命令取消对二次规划的判别)
200 无法为当前模型计算对偶解,请通过“LINGO|Options”命令取消对对偶计算的要求
lingo 15常用字符及函数:
一、逻辑运算符
#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 表示每次实验所需的随机数的个数。在行内,随机数是独立分布的;在行间,随机数是非常均匀的。这些随机数是用“分层取样”的方法产生的。如果没有为函数指定种子,那么LINGO 将用系统时间构造种子
14、@rand(seed)
返回0和1间的伪随机数,依赖于指定的种子。典型用法是U(I+1)=@rand(U(I))。注意如果seed 不变,那么产生的随机数也不变
四、命令
1、LINGO 信息
Cat 显示所有命令类型
Com 按类型显示所用LINGO 命令
Help 显示所需命令的简要帮助信息
Mem 显示内存变量的信息
2、输入(Input)
model 以命令行方式输入一个模型
take 执行一个文件的命令正本或从磁盘中读取某个模型文件
3、显示(Display)
look 显示当前模型的内容
genl 产生LINGO 兼容的模型
gen 生成并显示整个模型
hide 为模型设置密码保护
pause 暂停屏幕输出直至再次使用此命令
4、文件输出(File Ouput)
div 将模型结果输出到文件
svrt 将模型结果输出到屏幕
save 将当前模型保存到文件
smps 将当前模型保存为MPS 文件
5、求解模型(Solution)
go 求解当前模型
solu 显示当前模型的求解结果
6、编辑模型(Problem Editing)
del 从当前模型中删除指定的某一行或某两行之间(包括这两行)的所有行
ext 在当前模型中添加几行
alt 用新字符串替换掉某一行中、或某两行之间的所有行中的旧字符串
7、退出系统(Quit)
quit 退出LINGO 系统
8、系统参数(System Parameters)
page 以“行”为单位设置每页长度
ter 以简略方式输出结果
ver 以详细方式输出结果
wid 以“字符”为单位设置显示和输出宽度
set 重新设置默认参数
freeze 保存当前参数设置,以备下一次重新启动LINGO 系统时还是这样的设置
time 显示本次系统的运行时间