lindo

合集下载

18 Lindo及Lingo的使用

18 Lindo及Lingo的使用

!这里是数据; data: capacity=60 55 51 43 41 52; demand=35 37 22 32 41 32 43 38; cost=6 2 6 7 4 2 9 5 49538582 52197433 76739271 23957265 5 5 2 2 8 1 4 3; enddata end 然后点击工具条上的按钮 即可。
LINGO是用来求解线性和非线性优化问题的简易工具。LINGO内置了一 种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的 求解器可快速求解并分析结果。 §1 LINGO快速入门 LINGO快速入门
当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口:
外层是主框架窗口,包含了所有菜单命令和工具条,其它所有 的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO的默认模型窗口,建立的模型都 都要在该窗口内编码实现。下面举两个例子。
2.2 什么是集 集是一群相联系的对象,这些对象也称为集的成员 成员。一个集 成员 可能是一系列产品、卡车或雇员。每个集成员可能有一个或多 个与之有关联的特征,我们把这些特征称为属性 属性。属性值可以 性 预先给定,也可以是未知的,有待于LINGO求解。例如,产品 集中的每个产品可以有一个价格属性;卡车集中的每辆卡车可 以有一个牵引力属性;雇员集中的每位雇员可以有一个薪水属 性,也可以有一个生日属性等等。 LINGO有两种类型的集:原始集 原始集(primitive set)和派生集 原始集 派生集 (derived set)。 一个原始集是由一些最基本的对象组成的。 一个派生集是用一个或多个其它集来定义的,也就是说,它 的成员来自于其它已存在的集。

标题LINDO软件包介绍

标题LINDO软件包介绍

标题:LINDO 软件包介绍;副标题:Lindo 解线性规划问题实例导语:LINDO 软件包首先由Linus Schrage 开发,现在,美国的LINDO 系统公司(LINDO System Inc.)拥有版权,是一种专门求解数学规划(优化问题)的软件包。

它能求解线性规划、(0,1)规划、整数规划、二次规划等优化问题,并能同时给出灵敏度分析、影子价格以及最优解的松弛分析,非常方便实用。

1.注意事项(1) 低版本的LINDO 要求变量一律用大写字母表示;(2) 求解一个问题,送入的程序必须以MIN 或MAX 开头,以END 结束;然后按Ctrl + S (或按工具栏中的执行快捷键)进行求解;(3) 目标函数与约束条件之间要用SUBJECT TO (或ST )分开,其中字母全部大写;(4) LINDO 已假定所有变量非负,若某变量,例如X5有可能取负值,可在END 命令下面一行用FREE X5命令取消X5的非负限制;LINDO 要求将取整数值的变量放在前面(即下标取小值),在END 下面一行用命令INTEGER K ,表示前K 个变量是(0,1)变量;在END 下面一行用命令GIN H 表示前H 个变量是整数变量;(5) 在LINDO 中,“<”等价于“≤” ,“>”等价于“≥” ;(6) 在LINDO 的输出结果中有STATUS (状态栏),它的表出状态有:OPTIMAL (说明软件包求得的结果是最优解)、FEASIBLE (说明软件包求得的结果只是可行解)、INFEASIBLE (说明软件包求得的结果是不可行解)。

(7) 在LINDO 命令中,约束条件的右边只能是常数,不能有变量;(8) 变量名不能超过8个字符;(9) LINDO 对目标函数的要求,每项都要有变量,例如,LINDO 不认识MIN 2000-X+Y ,要改为MIN –X+Y ;(10)LINDO 不认识400(X+Y )要改为400X+400Y 。

LINDO与LINGO软件介绍

LINDO与LINGO软件介绍
15
查看模型的统计信息, 用Reports/statistics查看模型的统计信息, 查看模型的统计信息
第一行:模型有 行 约束4行),2个变量 个变量, 个整数变量 个整数变量( 个 变量 变量), 第一行:模型有5行(约束 行), 个变量,0个整数变量(0个0-1变量), 不是二次规划. 不是二次规划 第二行:非零系数10个 约束中非零系数6个 其中 个为1或 , 其中5个为 第二行:非零系数 个,约束中非零系数 个(其中 个为 或-1),模型密度 密度=非零系数 行数* 变量数+ 为0.667(密度 非零系数 行数*(变量数+1)]) . 密度 非零系数/[行数 变量数 第三行的意思:按绝对值看,系数最小、最大分别为1和 第三行的意思:按绝对值看,系数最小、最大分别为 和8. 第四行的意思:模型目标为极大化;小于等于、等于、 第四行的意思:模型目标为极大化;小于等于、等于、大于等于约束分别有 广义上界约束(GUBS)不超过 个;变量上界约束 不超过2个 变量上界约束(VUBS)不 2、0、2个;广义上界约束 不超过 不 少于0 所谓GUBS,是指一组不含有相同变量的约束;所谓 少于0个。所谓 ,是指一组不含有相同变量的约束;所谓VUBS,是 , 指一个蕴涵变量上界的约束,如从约束X1+X2-X3=0可以看出,若X3=0,则 可以看出, 指一个蕴涵变量上界的约束,如从约束 可以看出 , X1=0,X2=0(因为有非负限制),因此 ),因此 是一个VUBS约束。 约束。 , (因为有非负限制),因此X1+X2-X3=0是一个 是一个 约束 第五行的意思:只含1个变量的约束个数=0 冗余的列数=0 第五行的意思:只含1个变量的约束个数 0个;冗余的列数 0个

版本信息,可以通过 查询.我们还 版本信息,可以通过help/about查询 我们还 查询 可以查到允许的变量个数、约束个数、 可以查到允许的变量个数、约束个数、整数 变量个数、非零系数个数等. 变量个数、非零系数个数等

Lingo简介

Lingo简介

6. “ltx”:Lindo格式的模型文件;
7. “mps”:MPS(数学规划系统) Lingo软件模型一般由5部分组成: 1. 集合段(SETS):“SETS:”开始,“ENDSETS”结束; 2. 目标与约束段; 3. 数据段(DATA):“DATA:”开始,“ENDDATA”结束; 4. 初始化段(INIT):“INIT:”开始,“ENDINIT”结束;
无限
800 3200
无限
4000 16000
无限
Lindo/Lingo 软件简介
Lindo是英文Linear INteractive and Discrete Optimizer 字母的缩写,可求解线性规划(LP)和二次规划(QP)。
Lingo是英文Linear INteractive and General Optimizer 字母的缩写,除了具有Lindo所有功能之外,还可以用于求 解非线性规划(NLP),也可用于一些线性和非线性方程 的求解等。
Lindo/Lingo 软件简介
Lindo/Lingo内部求解器: 1. 直接求解程序(Direct Solver)
2. 线性优化求解程序(Linear Solver)
3. 非线性优化求解程序(Nonlinear Solver) 4. 分支定界管理程序(Branch and Bound Manager)
Lindo/Lingo 软件简介
美国芝加哥大学 Linus Schrage 教授于1980年前后开发 的一套专门用于求解最优化问题的软件包。 软件包括:Lindo、Lingo、Lindo API以及What’sBest! 这四款软件分为演示版(试用版)和正式版,两者的区别 在于求解问题的规模不同。正式版又可以分为求解包 (Solver Suite)、高级版(Super)、超级版(Hyper)、 工业版(Industrial)、扩展版(Extended)。

LINDO软件基本使用方法

LINDO软件基本使用方法
2019/4/5
优化建模 优 化 建 模
新余学院
建模组
上一页
下一页
Xinyu University MCM
优化建模 优 化 建 模
2.4 查错功能
2019/4/5
新余学院
建模组
上一页
下一页
Xinyu University MCM
优化建模 优 化 建 模
2.5 FREE、SUB、SLB的使用举例 求解如下线性规划问题: 非负限制
2019/4/5
新余学院
建模组
上一页
下一页
Xinyu University MCM
优化建模 优 化 建 模
Sub y 20 Slb z 30是否可取消? y 的上界(20)在最优解 中没达到;z的下界(30) 也没达到.
Free x 是否可取消?
2019/4/5
新余学院
建模组
上一页
下一页
Xinyu University MCM
新余学院 建模组
上一页 下一页
Xinyu University MCM
9. 变量不能出现在一个约束条件的右端 10. 表达式中不接受括号“( )”和逗号“,”等任何符号, 例: 400(X1+X2)需写为400X1+400X2 11. 表达式应化简,如2X1+3X2- 4X1应写成 -2X1+3X2 12. 缺省假定所有变量非负;可在模型的“END”语句后用 “FREE name”将变量name的非负假定取消 13. 可在 “END”后用“SUB” 或“SLB” 设定变量上下界 例如: “sub x1 10”的作用等价于“x1<=10” 但用“SUB”和“SLB”表示的上下界约束不计入模型的 约束,也不能给出其松紧判断和敏感性分析。 14. “END”后对0-1变量说明:INT n 或 INT name 15. “END”后对整数变量说明:GIN n 或 GIN name ※ 行号、“TITLE”语句和注释语句,是LINDO中惟一可以使用 汉字字符的地方.

从一个例子来看lindo、lingo和matlab的区别

从一个例子来看lindo、lingo和matlab的区别
从一个规划类的问题来了解lindolingo和matlab的区别minz5x14x2st3x14x2249x15x245x1x20且为整数用lindo求解min5x14x2st3x14x2249x15x245end选择否选择是free变量名或个数取消对变量下界的限制gin变量名或个数约束变量为整数int变量名或个数约束变量为01slb数值变量名或个数约束变量的下界sub数值变量名或个数约束变量的下界常用约束条件用lingo求解min5x14x2
min=-5*x1-4*x2; 3*x1+4*x2<=24; 9*x1+5*x2<=45; !@gin(x1);(注释) !@gin(x2);(注释)
@bin(X) 限制变量“X”为“0”或“1” @bnd(L,X,U)限制“L<=X<=U” @free(X)取消对变量的限制 @gin(X)限制变量“X”为整数
从一个规划类的问题,
来了解lindo、lingo和 matlab的区别
min Z=-5x1-4x2
S.T 3x1+4x2<=24
9x1+5x2<=45 X1,x2>=0 且为 整数
用lindo求解
min-5x1-4x2 st 3x1+4x2<=24 9x1否”
用matlab求解
用matlab求解的程序
c=[-5 -4]; A=[3 4;9 5]; b=[24;45]; [x,fval]=linprog(c,A,b)
THE END Thank you very much!
选择“是”
常用约束条件
Free + 变量名(或个数) 取消对变量下界的限制 Gin +变量名(或个数) 约束变量为整数 Int +变量名(或个数) 约束变量为“0”、“1” Slb +数值+变量名(或个数) 约束变量的下界 Sub +数值+变量名(或个数) 约束变量的下界

LINDO LINGO使用简介

1 LINDO菜单命令和语句1.1菜单命令我们可以从类似于其它Windows程序的便捷菜单访问LINDO的命令。

主菜单包括屏幕顶部的6个子菜单,它们列出了各种命令。

当单击其中一个子菜单——File、Edit、Solve、Reports、Window或Help时,将出现了一个包含各种命令的下拉菜单。

你可以像在大多数windows程序中那样选择命令——或者用鼠标单击命令,或者在适当的子菜单亮显时,按命令名中带下划线的字母。

许多命令还有快捷键(F2、Ctrl+Z等)。

为了增加方便性,还可以利用位于屏幕顶部工具栏中的图标访问一些最常用的命令。

下面简要介绍各种菜单命令,并列出了可以应用的快捷键和图标。

1.File(文件)菜单File菜单命令能够以各种方法操纵LINDO数据文件。

可以使用这个命令打开、关闭、保存和打印文件,并且可以执行LINDO独有的各种任务。

下面将描述File命令。

命令说明New F2 创建用于输入数据的新窗口。

Open F3 打开已有的文件。

利用对话框可以选择各种文件类型和位置。

View F4 打开已有的文件,仅进行浏览。

不对文件进行修改。

Save F5 保存窗口。

可以保存输入数据(模型)、Reports窗口或命令窗口。

可以下列格式保存数据:*.LTX,可以利用字处理软件进行编辑的文本格式;*.LPK,以“填充”格式保存编译模型,但是不进行特殊的格式化或解释;*.MPS,与机器无关的工业标准格式,用于在LINDO和其它LP软件之间传递LP问题。

Save As F6 利用指定的文件名保存活动窗口。

这特别适合于重命名已修改的文件,同时能够保持原始文件不受影响。

Close F7 关闭活动窗口。

如果窗口包含新的输入数据,将询问你是否保存修改。

Print F8 把活动窗口发送到打印机。

Printer Setup…F9 选择打印机和打印格式的各种选项。

Log Output…F10 把通常发送到Reports窗口的所有后续屏幕活动发送到文本文件中。

使用LINDO的一些注意事项


LINGO软件简介
LINGO模型的优点
•包含了LINDO的全部功能 •提供了灵活的编程语言(矩阵生成器)
LINGO模型的构成:4个段
•目标与约束段 • 集合段(SETS ENDSETS)
• 数据段(DATA ENDDATA) •初始段(INIT ENDINIT)
LINGO模型 — 例:选址问题
某公司有6个建筑工地,位置坐标为(ai, bi) (单位:公里), 水泥日用量di (单位:吨)
•使用LINDO的一 些注意事项
使用LINDO的一些注意事项
9. 变量不能出现在一个约束条件的右端 10. 表达式中不接受括号“( )”和逗号“,”等任何符号, 例: 400(X1+X2)需写为400X1+400X2 11. 表达式应化简,如2X1+3X2- 4X1应写成 -2X1+3X2 12. 缺省假定所有变量非负;可在模型的“END”语句 后用“FREE name”将变量name的非负假定取消 13. 可在 “END”后用“SUB” 或“SLB” 设定变量上 下界 例如: “sub x1 10”的作用等价于“x1<=10” 但用“SUB”和“SLB”表示的上下界约束不计入模 型的约束,也不能给出其松紧判断和敏感性分析。 14. “END”后对0-1变量说明:INT n 或 INT name 15. “END”后对整数变量说明:GIN n 或 GIN name
第一行:模型有5行(约束4行),4个变量,两个整数变量(没有 0-1变量),从第4行开始是二次规划的实际约束。 第二行:非零系数19个,约束中非零系数12个(其中6个为1或-1), 模型密度为0.760(密度=非零系数/[行数*(变量数+1)]) 。 第三行的意思:按绝对值看,系数最小、最大分别为0.3和277。 第四行的意思:模型目标为极小化;小于等于、等于、大于等于约 束分别有2、0、2个;广义上界约束(GUBS)不超过1个; 变量上界约束(VUBS)不少于0个。所谓GUBS,是指一组不 含有相同变量的约束;所谓VUBS,是指一个蕴涵变量上界的约 束,如从约束X1+X2-X3=0可以看出,若X3=0,则X1=0,X2=0 (因为有非负限制),因此X1+X2-X3=0是一个VUBS约束。 第五行的意思:只含1个变量的约束个数=0个;冗余的列数=0个

lindo简明教程


VARIABLE
VALUE
REDUCED COST
X
1.272727
0.000000
Y
1.636364
0.000000
!“VALUE”给出最优解中各变量的值。
!“REDUCE COST”列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小
!变动时,目标函数的变化率,其中基变量的 reduce cost 值应为0,对于非基变量Xj 相应
变量命名: 变量名最多用 8 个字符。其中第一个字符必须为 26 个字符之一,其余可以用“! ) + - = < >”这 7 个之外的任意字符。
约束命名 可以给每一个约束条件命名,以使得 LINDO 输出的内容更加易懂。方法是在约束条件 的前面写上约束名称和一个右括弧。它的命名规范和变量命名一样。
运算符 LINDO 的运算符仅有“+ - = < >”这 5 种。“≤”或“≥”用“<”或“>”表示,写成 “<=”或“>=”也可以,但仍会当作“<”或“>”处理。不接受括号来指定运算的优先级, 所有运算从左至右处理。变量和系数之间不要加“*”号。
五、LINDO 可选声明
LINDO 程序中,在“END”行之后可以写“TITLE”、“SUB”、“SLB”、“FREE”、“GIN”、 “INT”、“QCP”这几种可选声明,下面对它们一一说明。
TITLE 使用方式为:TITLE <Title> 指定<Title>为输出结果的标题。
SLB 使用方式为:SLB <Variable> <Value> 指定变量的下界。
图2
图3
以上就是求解一个 LP 问题的全过程。如果对中间的一些细节不关心,可以跳过第

LINDO软件包(学生版) 使用手册

LINDO软件包(学生版) 使用手册目录第一节简介与安装第二节用LINDO求解线性规划(LP) 问题第三节用LINDO求解整数规划(IP) 和二次规划(QP) 问题第一节简介与安装1·1简介本文主要面向大中专学生, 研究生, 及掌握一定的高等代数知识的读者,介绍LINDO软件包(学生版)的基本使用方法。

该软件包(学生版)主要功能在于帮助使用者较快地输入一个优化问题的式子, 求解并分析该优化问题, 然后可做些较小的改动, 并重复上述的过程.该软件包(学生版)在微机上DOS环境下运行。

其使用界面不是图形式的,而是字符式的;不是菜单式的, 而是面向具体的命令(Command). 它有许多的命令, 每一个命令都可随时执行, 由系统检查该命令是否在上下文中起作用. 它采用一种对用户友好的交互使用方式, 包括了所有的使用过程指导. 基于使用的具体情况, 它会向使用者询问下一步将做什么, 或等待使用者输入下一个命令.LINDO软件包(学生版)包括LINDO,GINO,LINGO和LINGO NL(LINGO2)等优化软件的学生版以及相应的例子文件。

由于LINDO程序执行速度很快,易于方便地输入、求解和分析优化问题,LINDO在教学、科研和工业界得到广泛应用。

这里用LINDO软件包作为LINDO,GINO,LINGO和LINGO NL等的统称,包含五种组件,下面分别介绍如下:(1)LINDO是Linear INteractive and Discrete Optimizer字首的缩写形式,是由Linus Schrage 于1986年开发的优化计算软件包, 可以用来求解线性规划(LP----Linear Programming), 整数规划(IP----Integer Programming) 和二次规划(QP----Quadratic Programming) 问题. LINDO易于规划问题的输入、求解和分析,程序执行速度很快。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档