LINDO使用说明

合集下载

LINDO软件的使用

LINDO软件的使用
运筹学》 《运筹学》 LINDO软件的使用 软件的使用 Slide 16
4,BEST IP:表示在最优的整数解目标函数值. 5,IP Bound:表示该整数规划目标值的下界或上界. 6,Branches:表示分支数. 7 , 目 前 IP 尚 无 相 应 完 善 的 敏 感 性 分 析 理 论 , 因 此 REDUCED COST 和DUAL PRICES的结果在整数规划中的意 义不大. max x1+x2 s.t. 14x1+9x2<51 -6x1+3x2<1 end gin 2
运筹学》 《运筹学》
LINDO软件的使用 软件的使用
Slide 9
C0
CO
运筹学》 《运筹学》
LINDO软件的使用 软件的使用
Slide 10
三,运行状态窗口 : (window/status window) 当前状态:已经达到最 优 解 ( optimal), 可 行 的 解 (feasible), 不 可 行 的 解 (infeasible), 无 界 解 (unbounded). 迭代次数:2次 多余或错误的约束条件 :0 当前的目标值:145 最好的整数解 整数规划的界 分枝数 求解所用的时间 刷新本界面的时间间隔 :1S
运筹学》 《运筹学》
LINDO软件的使用 软件的使用
Slide 8
例2:MIN 5 A0 +6 A1 +2 A2 +4 B0 +3 B1 +7 B2 +2 C0 : +9 C1 +8 C2 SUBJECT TO 2) A0 +A1 +A2<=8 3) B0 +B1 +B2<=9 4) C0 +C1 +C2<=6 5) A0 +B0 +CO =6 6) A1 +B1 +C1 =5 7) A2 +B2 +C2 =9 END 问题: 问题:第5)行的表达式中CO 与C0弄混了.

LINDO软件使用简介

LINDO软件使用简介

0.2x+0.7y+0.4z<1
End
Int x
Int y Int z
运算结果如下
OBJECTIVE FUNCTION VALUE
1) 7.000000 VALUE REDUCED COST
VARIABLE
X
Y Z
1.000000
1.000000 0.000000
-4.000000
-3.000000 -2.000000 DUAL PRICES
入 模 型
max 2x+3y
st
4x+3y<10
3x+5y<12 end
2. 存储模型
ห้องสมุดไป่ตู้
用SAVE命令将问题模型以LINDO格式存入文件(自己 输入文件名),如将上述输入模型存在sf1中。 3.模型求解 选择菜单“SOLVE”,并回答提示“DO RANGE
(SENSITIVITY)ANSLYSIS(灵敏性分析)”,yes或NO
COEF
X Y 2.000000 3.000000
INCREASE
2.000000 0.333333
DECREASE
0.200000 1.500000
RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE
RHS
2 3 10.000000 12.000000
前者只将变量vname标识为0/1型,后者将前n个变量标识 为0/1型。 还可用命令GIN将变量仅限为整数型
例如,求解整数规划
max s.t.
w 4x 3y 2z 2.5 x 3.1z 5 0.2 x 0.7 y 0.4 z 1 x, y 0, 且为0或1

LINGO使用说明(比较简单)

LINGO使用说明(比较简单)

Lingo介绍Lingo是美国LINDO系统公司(Lindo Symtem Inc)开发的求解数学规划系列软件中的一个(其他软件为LINGDO,GINO,What’s Best等),它的主要功能是求解大型线性、非线性和整数规划问题,目前的版本是lingo11.0。

lingo分为Demo、solve suite、hyper、industrial、extended等六类不同版本,只有Demo版本是免费的,其他版本需要向LINDO系统公司(在中国的代理商)购买,Lingo的不同版本对模型的变量总数、非线性变量个数、整型变量个数和约束条件的数量做出不同的限制(其中extended版本无限制)。

Lingo的主要功能特色为:(1)既能求解线性规划,也有较强的求解非线性规划的能力;(2)输入模型简练直观;(3)运行速度快、计算能力强;(4)内置建模语言,提供几十种内部函数,从而能以较少语句,较直观的方式描述较大规模的优化模型;(5)将集合的概念引入编程语言,很容易将实际问题转换为Lingo语言;(6)能方便地与excel、数据库等其他软件交换数据。

学校图书馆40本《lingo和excel在数学建模中的应用》,袁新生、邵大宏、郁时炼主编,科学出版社Lingo程序设计简要说明在数学建模中会遇到如规划类的题型,在这种模型中总存在着一个目标,并希望这个目标的取值尽可能的大或小,同时与这个目标有关的一系列变量之间存在一些约束。

在构造出目标函数和约束条件的表达式后,我们需要对求出这个最值和各变量的取值。

一般我们用LINGO来对模型进行求解,本文将通过举一个简单的例子,围绕这个例子逐步学习LINGO 的使用。

LINGO只是一个求解工具,我们主要的任务还是模型的建立!当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口:外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。

在主窗口内的标题为LINGO Model –LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。

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使用手册

LINDO使用手册

LINDO使用手册LINDO Users Manual第一章 LINDO初步LINDO 是Linear INteractive Discrete Optimizer的缩写,是一个线性和整数规划的软件系统。

这里介绍的LINDO/386 5.3版本,最大规模的模型的非零系数可以达到1,000,000个,最大变量个数可以达到100,000个,最大目标函数和约束条件个数可以达到32000个,最大整数变量个数可以达到100,000个。

它的特点是采用交互方式操作,而且命令简单明了,很容易掌握。

用户在输入初步的数学模型后,可以一边运行,一边修改调试,直至获得满意的结果。

LINDO既是一个实用的求解大规模线性和整数规划系统,也很适用于训练的目的,用来培养学生面对较复杂的实际问题,构造线性及整数规划模型以及求解这些问题的能力。

限于本教材的内容,本手册只介绍有关线性规划和整数规划的基本内容,省略了有关二次规划、参数规划以及有关线性规划算法的比较专门的内容。

§1.1 LINDO 命令一览表LINDO 命令纳成十一类,每一类的名称及所属命令如下:1、查询类(Information)HELP 求助COM ( Command ) 命令列表LOCAL 当前版本信息CAT ( Categories ) 命令分类TIME 显示当前时间DATE 显示当前日期2、文件输入类( Input )MAX 键盘输入极大化模型MIN 键盘输入极小化模型RETR ( Retrieve ) 从磁盘读入模型文件RMPS ( Read MPS ) 从磁盘读入MPS文件TAKE 从磁盘读入模型或命令文件LEAV ( LEAVE ) TAKE命令的终止RDBC* 读取用SBDC命令保存的基列作为初始基FBR * 读取用FBS命令保存的基FINS* 读取用MPS格式保存的基3、显示类(Display)PIC ( Picture ) 显示矩阵中非零元素的分布及数量级TABL ( Tableau ) 显示当前单纯形表LOOK 显示模型的数学形式NONZ ( Nonzeros ) 显示解中的非零变量SHOC ( Show Column ) 显示模型中的一列SOLU ( Solution ) 显示当前得到的解RANGE 显示灵敏度分析的结果BPIC* 显示三角化的当前基逆矩阵CPRI* 显示所选择列的有关信息RPRI* 显示所选择行的有关信息DMPS* 显示以MPS格式表示的解PPIC* 显示行列重新排列的矩阵,使非零元素最靠近对角线4、文件输出类( File Output )SAVE 模型存盘DIVE ( Divert ) 将屏幕输出转向磁盘文件RVRT ( Revert ) 重新回到屏幕输出状态SMPS ( Save MPS ) 模型以 MPS 格式存盘SDBC* 将当前基的列向量以文件形式保存FBS* 将当前基以文件形式保存FPUN* 将当前基以MPS形式保存SMPN* 将当前模型用非标准的MPS格式保存5、求解类(Solution)GO 求解一个模型PIV(Pivot) 进行一次单纯形叠代GLEX* 用字典序方法优化6、问题编辑类( Problem Editing )ALT(Alter) 修改模型中的系数EXT(Extension) 增加一个约束DEL(Delete) 删除一个约束SUB(Simple Upper Bound) 给出一个变量的上界APPC(Append Column) 增加一列SLB(Simple Lower Bound) 给出一个变量的下界FREE 取消一个变量的上下界EDIT 用全屏幕编辑建立或修改模型7、退出( Quit )QUIT 退出 LINDO 系统8、整数规划、二次规划和参数规划( Integer, Quadratic and Parametric Programs )INT 定义一个0-1变量QCP*(Quadratic Programming) 定义二次规划PARA*(Parametric Programming)求解参数规划POSD*(Positive Definiteness) 检查二次规划矩阵的正定性TITAN* 紧缩连续变量的上界以及0-1变量的系数BIP* 在整数规划中给出一个剪枝的界GIN (General Integer)定义一个整数变量IPTOL* 设定整数规划最优解的宽容度9、对话参数( Conversational Parameters )WIDTH 设置打印机宽度TERS ( Terse ) 简洁输出信息VERB ( Verbose ) 冗长输出信息BAT ( Batch ) 成批输出信息PAGE 设定屏幕页的大小PAUSE 暂停10、用户子程序USER 执行用户提供的子程序11、杂项INV* (INVERT)求当前基的逆矩阵,以减少叠代误差STAT (STATISTICS)统计模型矩阵的系数BUG 如发现系统缺陷,提供有关信息SET 设置LINDO的内部参数TITL (TITLE)给出模型的标题§1.2 LINDO 初步操作以下命令,可以完成模型输入,模型显示,模型运行,退出LINDO等操作,这些命令是:• MAX 开始输入一个极大化模型• MIN 开始输入一个极小化模型• TITL 输入模型标题• EDIT 全屏幕输入或全屏幕编辑一个模型• LOOK 在屏幕上显示已输入的模型• GO 模型运行• QUIT 退出LINDO,返回操作系统在这一章中,先对这几个命令的用法作详细解说。

第二章 LINDO软件的基本使用方法

第二章  LINDO软件的基本使用方法

Close(关闭)
优化建模
紧接着弹出一对话框,询问你是否需要做灵敏性分析 (DO RANGE (SENSITIVITY) ANALYSIS? )先选 择“否(N)”按钮,这个窗口就会关闭。然后,再 把状态窗口也关闭。
优化建模
报告窗口
用鼠标选择“Window | Reports Window‖(报告窗口), 就可以查看该窗口的内容
优化建模
例2.2
菜单命令“Report | Picture(Alt+5)” 的功能
对如下的一个有错误的模型输入:
MIN 5 A0 +6 A1 +2 A2 +4 B0 +3 B1 +7 B2 +2 C0 +9 C1 +8 C2 SUBJECT TO 2) A0 +Al +A2 <=8 3) B0 +B1 +B2 <=9 4) C0 +C1 +C2 <=6 5) A0 +B0 +CO =6 6) A1 +B1 +C1 =5 7) A2 +B2 +C2 =9 END 用Report | Picture命令,将弹出一个对话框,在弹出的对话框中采用 缺省选项(即不采用下三角矩阵形式,并以图形方式显示),直接按 “OK‖按钮可得到一个输出图形。可以从图中很直观地发现,其实错误 原因只不过是在输入5)行的表达式中C0与CO弄混了(英文字母O与 数字0弄混了)。在图中,还可以用鼠标控制显示图形的缩放,这对 于规模较大的模型是有用的。
Update Interval 显示和控制刷新本界面的时间间隔:“1‖表示1秒;用 (刷新本界面的时间间隔) 户可以直接在界面上修改这个时间间隔。

lingo使用入门

lingo使用入门

伯数字(0,1,…,9)组成的总长度不超过32个字符的字符串,且不区分大小写。
member_list· 可选,集的成员列表,如果集成员放在集定义中,那么对它们可采取 显式罗列和隐式罗列两种方式。如果集成员不放在集定义中,那么可以在随后的数 据部分定义它们。 ① 当显式罗列成员时,必须为每个成员输入一个不同的名字,中间用空格或逗号 搁开,允许混合使用。 例4-3 可以定义一个名为students的原始集,它具有成员John、Jill、Rose和Mike ,属性有sex和age: sets: students/John Jill, Rose Mike/: sex, age; endsets
注:A variable is considered to be nonlinear if it enters into any nonlinear relationship in any constraint in the model,如X*Y=10,而X+Y=10则认为X,Y都是线 性的;在X*X+Y=100中,X是非线性的,Y是线性的;在X=1,X+Y=3中,则认为X和Y 都不是变量。 2、约束框(Constraints)显示的是模型约束的总数和非线性约束的总数。 3、非零框(Nonzeros)显示的是模型中的非零系数的总数和非线性变量中非零系数的 总数。 4、内存时间框(Generator Memory Used)显示正在使用的模型所需的内存大小。 5、耗用时间框(Elapsed Runtime)显示用于编译和求解模型所需的时间。 6、求解状态框(Solver Status)显示模型类型和最优解的状态 Model:模型类型,可能的结果是:LP,NLP,QP,IP,ILP,INLP,PIP,MIP,IQP,PIQP,PINP等 State:给出现行解得状态,可能的结果是:全局最优解(Global Opt),局部最优解 (Local/Relative Opt),可行解(Feasible solution),不可行解(Infeasible solution),无界 解(Unbounded),中断(Interrupt),未定(Undetermined) Objective:给出当前目标函数值

Lingo软件使用指南

Lingo软件使用指南

Lingo软件使用指南摘要:本文介绍了Lingo软件的基本使用方法。

从最基本的使用到复杂问题的解决,本文给出了比较详细的介绍。

Lingo软件是美国Lindo公司的产品,主要用来求解优化问题。

它是一个非常强大的软件,可以求解大部分优化问题,包括线性规划、二次规划、整数规划、运输问题等,是目前全球应用最广泛的优化软件之一。

这里我们简单介绍它的使用方法。

一进入Lingo如果你的计算机已经安装了Lingo,只需要在桌面上双击Lingo的快捷方式,就可以进入Lingo。

为了使自己的程序易于阅读,经常需要有一些注释,因此在编写程序中,每一行前面有感叹号的表示这一行是注释行,在程序运行中不起作用,希望初学者养成注释的好习惯。

二建立数学模型和 Lingo模型语言例1 在Lingo的命令窗口中输入下面的线性规划模型!目标函数;MAX = 100 * x1 + 150 * x2;!第一个约束;X1<= 100;!第二个约束;X2 <= 120;!第三个约束;X1 + 2 * x2<= 160;!end可有可无;end求解可得全局最优解:Objective value: 14500.00Variable ValueX1 100.0000X2 30.00000从这个例子可以看出,用Lingo软件求解一个简单的优化问题是非常容易的。

我们只需要输入优化问题的两个主要部分:目标函数和约束,就可以直接求解。

对于比较简单的问题,我们可以采取这种直接的方式去求解,但是,对于比较复杂的问题,用这种方式就不现实。

比如下面的例2,这就必须要使用Lingo的模型语言。

例2 一个运输问题假设WWW公司有6个仓库,储存着8个分厂生产所需要的原材料。

要求每一个仓库的供应量不能超过储存量,而且每一个分厂的需求必须得到满足。

问:如何组织运输,使总运输费用最小?已知从6个仓库到8个分厂的运输费用表。

表1 供应表2 需求表3 运输费用Wh5 2 3 9 5 7 2 6 5Wh6 5 5 2 2 8 1 4 3 这个问题是一个典型的优化问题,通常称为运输问题。

LINDO软件用法简介

LINDO软件用法简介
O软件后,首先会弹出一个窗口 (上面标有untitled,意谓没有命名).我们就可以输 入LINDO源程序了.采用水平输入,变量取名通 其他软件,不用下标;乘号不用也不能输入,非负 约束不用输入,<即为 ,以end结尾.不能用括号. 格式为 • max 2x1+3x2 • St • 2x1+5x2<80 • 8x1-2x2<20 • end
Range Analysis解释
• 与我们上次介绍的参数规划问题不同的 是,range analysis中的结果是仅仅考虑目 标行的某一个系数的变化范围,即当其他 条件不变时,该系数在此范围内变化时,最 优解保持不变.有点类似我们分析中的偏 导数概念,而上节讲的参数规划问题类似 于全微分.其他的我们通过后面的例子进 一步解释.
当一行输入太长时,可在下一个+好前回车即可表示续 行.
当我们输完源程序后,最好保存,下拉file所 在的菜单,点击save,会弹出一个窗口,源程序 • 名自动以ltx为扩展名.然后运行程序,点击 solve,运行之后会有一个选择窗口,问 • DO RANGE(SENSITIVITY) ANALYSES • YES NO • 我们选择yes就是了.我们只等着阅读报告, 一般小的规划问题立刻就可出来结果.

使用LINDO的一些注意事项

使用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简明教程

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软件包(学生版) 使用手册目录第一节简介与安装第二节用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易于规划问题的输入、求解和分析,程序执行速度很快。

Lindo的简单使用方法(终结版)

Lindo的简单使用方法(终结版)

LINDO的简单使用方法一、LINDO软件的基本特性LINDO是一种专门用于求解数学规划问题的软件包。

由于LINDO执行速度很快、易于方便输入、求解和分析数学规划问题。

因此在数学、科研和工业界得到广泛应用。

LINDO主要用于解线性规划、非线性规划、二次规划和整数规划等问题。

也可以用于一些非线性和线性方程组的求解以及代数方程求根等。

LINDO中包含了一种建模语言和许多常用的数学函数(包括大量概论函数),可供使用者建立规划问题时调用。

一般用LINDO(Linear Interactive and Discrete Optimizer)解决线性规划(LP—Linear Programming)、整数规划(IP—Integer Programming)问题。

它的最新版本——LINDO6.1版可求解最多含有4000个约束、8000个变量、800个整型变量的问题。

二、LINDO使用的一般说明(一)软件的基本指令点击进入LINDO 操作界面后,系统在屏幕的下方打开一个编辑窗口,其默认标题是”untitled”。

屏幕的上方有【File】、【Edit】、【Solve】、【Reports】、【Window】、【Help】六个菜单,除【Solve】和【Reports】菜单外,其他功能与一般Windows 菜单大致相同。

而【Solve】和【Reports】菜单的功能很丰富,这里只对其最简单常用的命令作一简单的解释。

1【Solve】菜单〖Solve〗子菜单,用于求解在当前编辑窗口中的模型,该命令也可以改用快捷键Ctrl+S 或用快捷按钮来执行。

〖Compile Model〗子菜单,用于编译在当前编辑窗口中的模型,该命令也可以改用快捷键Ctrl+E 或用快捷按钮来执行。

LINDO 求解一个模型时,总是要将其编译成LINDO 所能处理的程序而进行,这一般由LINDO 自动进行,但有时用户需要先将模型编译一下查对是否有错,则用到此命令。

数学软件 Lindo 的使用介绍

数学软件 Lindo 的使用介绍
数学软件 Lindo 的使用介绍
一、软件简介
LINDO(Linear Interactive and Discrete Optimizer)是一种专
门用于求解数学规划问题的软件包. 由于LINDO执行速度 求解和分析数学规划问题. 快、易于方便输入、求解和分析数学规划问题 因此, 在数 学、科研和工业界得到广泛应用 LINDO主要用于解 、 科研和工业界得到广泛应用. 主要用于解LP NLP、QP和IP等问题 也可以用于一些非线性和线性方程 等问题.也可以用于一些非线性和线性方程 和 等问题 组的求解以及代数方程求根等. 组的求解以及代数方程求根等 LINDO中包含了一种建模 语言和许多常用的数学函数(包括大量概率函数 语言和许多常用的数学函数 包括大量概率函数), 可供使 包括大量概率函数 用者建立规划问题时调用. 用者建立规划问题时调用
LINDO是规定 非负的 我们可以发现输入方式与我们 是规定xj非负的 是规定 非负的, 的数学书写的形式基本一致, 运算后, 的数学书写的形式基本一致 运算后 计算机会问您是 否需要灵敏度分析, 我们选择是, 结果如下: 否需要灵敏度分析 我们选择是 结果如下
LP OPTIMUM FOUND AT STEP 1) 933400.0 VARIABLE X1 X2 X3 X4 X5 X6 X7 X8 VALUE 161351.734375 265200.000000 408100.000000 98748.265625 218648.265625 0.000000 0.000000 31351.734375
6、“DUAL PRICE”(对偶价格 列出最优单纯形表中判别 、 对偶价格)列出最优单纯形表中判别 对偶价格 数所在行的松弛变量的系数, 数所在行的松弛变量的系数 表示当对应约束有微小变 动时,目标函数的变化率 动时 目标函数的变化率, 输出结果中对应每一个约束有 目标函数的变化率 一个对偶价格.若其数值为 一个对偶价格 若其数值为X, 表示对应约束中不等式右 若其数值为 端项若增加一个单位, 目标函数将增加 个单位 个单位(max型 端项若增加一个单位 目标函数将增加X个单位 型 问题). 上例中: 第二行对应的对偶价格值应为-1表示当 问题 上例中 第二行对应的对偶价格值应为 表示当 约束2)x5+x6+x7+x8>250000变为2)x5+x6+x7+x8>250001时, 目标函数值=933400-1=933399

LINDO、LINGO软件的使用方法汇总

LINDO、LINGO软件的使用方法汇总
LINDO/LINGOl软件简介
第1节 LINDO 第2节 LINGO
第1节 LINDO软件
一、LINDO软件的使用格式 二、LINDO输出结果分析
一、LINDO软件的使用格式
LINDO软件是一种专门用于求解线性 规划问题的软件包,由于LINDO执行速度很 快且输入方便,易于求解和分析规划问题, 因此在科研和工业界得到广泛应用。
设备
每吨产品的加工台时 可供台


时数
A
3
4
36
B
5
4
40
C
9
利润(元/吨)
32
8
76
30
设备
A B C 利润(元/吨)
每吨产品的加工台时


3
4
5
4
9
8
32
30
可供台 时数
36 40 76
试问如何安排生产,可使该厂所获的利润达到最大?
解:设在计划期内安排生产甲、乙两种产品分别为
x1, x2吨.
则目标函数为: max Z 32 x1 30 x2
Decrease 4.000000 1.333333 4.000000
资源的 允许增 允许减 当前值 加的值 少的值
在影子价格有意义的情况下,约束条件右端
资源的允许变化范围。 例1的LINGO程序
一、LINGO软件的一些规定
1、目标函数以“max=”或“min=”开头,其后面 是目标函数的表达式。
可供台 时数
36 40 76
则该问题的 数学模型为:
max Z 32 x1 30 x2
3x1 4x2 36 5x1 4x2 40 9x1 8x2 76 x1, x2 0

lindo软件使用快速入门

lindo软件使用快速入门

湖南科技大学信息与电气工程学院李众序Lindo可以用于求解线性规划(Linear Problem)和二次规划(Quadratic Programming).本文着重解决比较常见的线性规划问题。

尤其是关于DEA的问题。

1.1初识LINDO双击图标屏幕会显示如下图的LINDO标准界面这就是LINDO用户界面。

目前光标所在的子窗口为模型窗口(Model Window), 用户可以在这里输入要求解的规划模型。

目前这个子窗口标有“”字样,表示用户还没有为这个模型的文件命名,因此LINDO采用了一个自动生成的名字“untitled”,将来用户在保存模型时可以对它重新命名。

1.2使用LINDO解线性规划问题(Linear Problem)例如我们要求下列线性规划问题Max 5x+3y+6z //限定条件,即求等式右边的最大值s.t 4x+3y+2z<=103x+5y+4z<=204x+2y+4z<=15X,y,z>0那么,我们可以直接在上述窗口输入这个模型我们可以看到上面的输入格式基本上与手写的格式差不多,所以可以说这款软件的用户界面相当人性化。

其中ST表示约束条件,C2,C3表示行数。

求解这个问题的时候我门可以点软件的这个图标,这个时候便弹出了一下对话框。

上图标含有以下信息:当前状态:已经达到最优解迭代次数: 1约束不满足的量:0当前的目标值:22.5最好的整数解:没有答案整数规划的界:没有答案分枝数:没有答案所用时间:0.00秒现在这个模型就解完了,那么最优解在哪里呢?用鼠标点“Window”,你会发现有一个“Report Window”写在那里,这就是最终结果的报告窗口。

用鼠标选择“Report Window”,就可以查看该窗口的内容,如下上面表示的意思是“LP OPTIMUM FOUND AT STEP2”表示单纯形法在两次迭代(旋转)后得到最优解。

“OBJECTIVE FUNCTION VALUE” 1)22.50000表示最优目标值为 22.50000“VALUE”给出最优解中各变量(VARIABLE)的值: X=0.000000 Y=0.000000 Z=3.750000 “REDUCED COST”给出最优的单纯形表中目标函数行(第1行)中变量的系数(即各个变量的检验数),其中基变量的reduced cost 值为1.000000。

lindo,lingo使用几个重要方面

lindo,lingo使用几个重要方面

LINGO模型的构成:4个段 模型的构成: 个段 模型的构成
目标与约束段 目标与约束段 集合段(SETS 集合段( ENDSETS) )
数据段(DATA ENDDATA) 数据段( ) 初始段(INIT ENDINIT) 初始段( 初始段 )
LINGO模型 LINGO模型 — 例:选址问题
某公司有6个建筑工地,位置坐标为 单位: 某公司有 个建筑工地,位置坐标为(ai, bi) (单位:公里 个建筑工地 单位 公里), 单位: 水泥日用量d 单位 水泥日用量 i (单位:吨)
使用LINDO的一些注意事项 使用LINDO的一些注意事项 LINDO
9. 变量不能出现在一个约束条件的右端 10. 表达式中不接受括号“( )”和逗号“,”等任何符号 例: 等任何符号, 表达式中不接受括号“ 和逗号“ 等任何符号 和逗号 400(X1+X2)需写为 需写为400X1+400X2 需写为 11. 表达式应化简,如2X1+3X2- 4X1应写成 -2X1+3X2 表达式应化简, 应写成 12. 缺省假定所有变量非负;可在模型的“END”语句后用 缺省假定所有变量非负;可在模型的“ 语句后用 将变量name的非负假定取消 “FREE name”将变量 将变量 的非负假定取消 13. 可在 “END”后用“SUB” 或“SLB” 设定变量上下界 后用“ 后用 例如: 的作用等价于“ 例如: “sub x1 10”的作用等价于“x1<=10” 的作用等价于 但用“ 但用“SUB”和“SLB”表示的上下界约束不计入模型的约 和 表示的上下界约束不计入模型的约 也不能给出其松紧判断和敏感性分析。 束,也不能给出其松紧判断和敏感性分析。 14. “END”后对 变量说明:INT n 或 INT name 后对0-1变量说明 后对 变量说明: 15. “END”后对整数变量说明:GIN n 或 GIN name 后对整数变量说明: 后对整数变量说明

lindo_lingo的使用

lindo_lingo的使用

二、用LINDO求解整数规划(IP) LINDO求解整数规划 IP) 求解整数规划(
例 3 如下IP问题: 如下IP问题 问题: min 15x11+19x21+26x31+19x41+18x12+23x22+17x32+2 1x42+24x13+22x23+16x33+23x43+24x14+18x24+19 x34+17x44 ST x11+x12+x13+x14=1 x21+x22+x23+x24=1 x31+x32+x33+x34=1 x41+x42+x43+x44=1 x11+x21+x31+x41=1 x12+x22+x32+x42=1 x13+x23+x33+x43=1 x14+x24+x34+x44=1 end int 16
下面我们就用LINDO 来解这一优化问题。 下面我们就用LINDO 来解这一优化问题
输入语句: max(不区分大小写,min) x1+x2+x3+x4 ST(大写或写subject to) x5+x6+x7+x8>=250000 x1+x5<=380000 x2+x6<=265200 x3+x7<=408100 x4+x8<=130100 2.85x1-1.42x2+4.27x318.49x4>=0 2.85x5-1.42x6+4.27x718.49x8>=0 16.5x1+2.0x2-4.0x3+17x4>=0 7.5x5-7.0x6-13.0x7+8.0x8>=0 end
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1LINDO 软件包介绍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 。

2.求解线性规划问题例6-1 求解下列线性规划问题:⎪⎩⎪⎨⎧≥≤+≤++=0,12531034..32max y x y x y x t s yx f 在LINDO 中输入下列命令:MAX 2X+3YSUBJECT TO4X+3Y<103X+5Y<12ENDLINDO输出下列结果:STATUS OPTIMALLP OPTIMUM FOUND AT STEP 1OBJECTIVE FUNCTION V ALUE1) 7.454545V ARIABLE V ALUE REDUCED COSTX 1.272727 0.000000Y 1.636364 0.000000ROW SLACK OR SURPLUS DUAL PRICES2) 0.000000 0.0909093) 0.000000 0.545455NO. ITERATIONS= 1RANGES IN WHICH THE BASIS IS UNCHANGED:OBJ COEFFICIENT RANGES V ARIABLE CURRENT ALLOWABLEALLOWABLECOEF INCREASE DECREASEX 2.000000 2.000000 0.200000Y 3.000000 0.333333 1.500000RIGHTHAND SIDE RANGESROW CURRENT ALLOWABLE ALLOWABLERHS INCREASE DECREASE2 10.000000 6.000000 2.8000003 12.000000 4.666667 4.500000这个结果说明:LINDO求解此线性规划问题(LP)只用一步迭代就得到最优解fmax = 7.454545,x = 1.272727, y = 1.636364。

两个松弛变量取0值,即,这个最优解使得约束条件都取等号;其对偶问题的最优解(影子价格)DUALPRICES 为Y 1=0.090909,Y 2=0.545455。

同时灵敏度分析告诉我们:在目标函数中,X 的系数是2,允许下降0.2,允许增加2,即,X 的系数在区间[1.8,4]中任意变化,最优基不变;在目标函数中,Y 的系数是3,允许下降1.5,允许增加0.333333,即,Y 的系数在区间[1.5,3.333333]中任意变化,最优基不变;约束条件右边第一个常数是10,允许下降2.8,允许增加6,即在区间[7.2,16]中任意变化,最优基不变;约束条件右边第二个常数是12,允许下降4.5,允许增加4.666667,即在区间[7.5,16.666667]中任意变化,最优基不变。

例6-2求解下列线性规划问题:⎪⎩⎪⎨⎧>≤-≤++=yFREEx y x y x t s yx f ,0114932..min在LINDO 中输入以下命令:MIN X+YST2X+3Y 〈9X-4Y 〈11ENDFREE YLINDO 运算后输出以下结果:STATUS OPTIMALLP OPTIMUM FOUND AT STEP 1OBJECTIVE FUNCTION V ALUE1) -2.750000V ARIABLE V ALUE REDUCED COSTX 0.000000 1.250000Y -2.750000 0.000000ROW SLACK OR SURPLUS DUAL PRICES2) 17.250000 0.0000003) 0.000000 0.250000NO. ITERATIONS= 1RANGES IN WHICH THE BASIS IS UNCHANGED:OBJ COEFFICIENT RANGESV ARIABLE CURRENT ALLOWABLE ALLOWABLECOEF INCREASE DECREASE X 1.000000 INFINITY 1.250000Y 1.000000 INFINITY 1.000000RIGHTHAND SIDE RANGESROW CURRENT ALLOWABLE ALLOWABLERHS INCREASE DECREASE2 9.000000 INFINITY 17.2500003 11.000000 INFINITY 23.000000这个结果说明:LINDO求解此线性规划问题(LP)只用一步迭代就得到最优解fmin = -2.75,x = 0, y = -2.75。

第一个松弛变量取值17.25,第二个松弛变量取0值,即,这个最优解使得第二个约束条件取等号;其对偶问题的最优解(影子价格)DUAL PRICES为Y1=0,Y2=0.25。

同时灵敏度分析告诉我们:在目标函数中,X的系数是1,允许下降1.25,允许增加∞,即,X的系数在区间[-0.25,∞]中任意变化,最优基不变;在目标函数中,Y的系数是1,允许下降1,允许增加∞,即,Y的系数在区间[0,∞]中任意变化,最优基不变;约束条件右边第一个常数是9,允许下降17.25,允许增加∞,即在区间[-8.25,∞]中任意变化,最优基不变;约束条件右边第二个常数是11,允许下降23,允许增加∞,即在区间[-12,∞]中任意变化,最优基不变。

例6-3求解下列线性规划问题(参见第5章例18):MAX 360X1+220X2+240X3+360X4+220X5+240X6STX1+X2+X3<300X4+X5+X6<1200X1+X4<6000X2+X5<500X3+X6<1000X1-4X4>09X2-X5>0END得到结果如下:LP OPTIMUM FOUND AT STEP 3OBJECTIVE FUNCTION V ALUE1) 400000.0V ARIABLE V ALUE REDUCED COSTX1 285.714294 0.000000X2 14.285714 0.000000X3 0.000000 200.000000X4 71.428574 0.000000X5 128.571426 0.000000X6 1000.000000 0.000000ROW SLACK OR SURPLUS DUAL PRICES2) 0.000000 400.0000003) 0.000000 200.0000004) 5642.856934 0.0000005) 357.142853 0.0000006) 0.000000 40.0000007) 0.000000 -40.0000008) 0.000000 -20.000000NO. ITERATIONS= 3RANGES IN WHICH THE BASIS IS UNCHANGED:OBJ COEFFICIENT RANGESV ARIABLE CURRENT ALLOWABLE ALLOWABLECOEF INCREASE DECREASE X1 360.000000 1750.000000 174.999985X2 220.000000 175.000000 1750.000000X3 240.000000 200.000000 INFINITYX4 360.000000 7000.000000 155.555542X5 220.000000 38.888885 194.444427X6 240.000000 INFINITY 40.000000RIGHTHAND SIDE RANGESROW CURRENT ALLOWABLE ALLOWABLERHS INCREASE DECREASE2 300.000000 499.999969 277.7777713 1200.000000 312.499969 124.9999924 6000.000000 INFINITY 5642.8569345 500.000000 INFINITY 357.1428536 1000.000000 124.999992 312.4999697 0.000000 277.777771 499.9999698 0.000000 2499.999756 125.0000003.求解整数线性规划问题例6-4求解下列(0,1)线性规划问题:⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧=≤≤=≤≤=+++++++++++++++++++=∑∑==1,051,141,1..45104410435424413510349334323312510247233222211571451321211max 4151ij i ij j ij x j x i x t s x x x x x x x x x x x x x x x x x x x x f在LINDO 中输入下列命令:MAX X11+X12+2X13+5X14+7X15+X21+2X22+3X23+7X24+10X25+X31+3X32+4X33+9X34+10X35+X41+4X42+5X43+10X44+10X45STX11+X12+X13+X14+X15=1X21+X22+X23+X24+X25=1X31+X32+X33+X34+X35=1X41+X42+X43+X44+X45=1X11+X21+X31+X41=1X12+X22+X32+X42=1X13+X23+X33+X43=1X14+X24+X34+X44=1X15+X25+X35+X45=1ENDINT 20LINDO 运算后输出下列结果:STATUS INFEASIBLE (求不出最优解)。

相关文档
最新文档