LINGO程序有以下特点Word格式.docx

上传人:b****3 文档编号:14842350 上传时间:2022-10-25 格式:DOCX 页数:6 大小:70.29KB
下载 相关 举报
LINGO程序有以下特点Word格式.docx_第1页
第1页 / 共6页
LINGO程序有以下特点Word格式.docx_第2页
第2页 / 共6页
LINGO程序有以下特点Word格式.docx_第3页
第3页 / 共6页
LINGO程序有以下特点Word格式.docx_第4页
第4页 / 共6页
LINGO程序有以下特点Word格式.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

LINGO程序有以下特点Word格式.docx

《LINGO程序有以下特点Word格式.docx》由会员分享,可在线阅读,更多相关《LINGO程序有以下特点Word格式.docx(6页珍藏版)》请在冰豆网上搜索。

LINGO程序有以下特点Word格式.docx

=”可分别用“<

”及“>

”代替。

★一行中感叹号“!

”后面的文字为是注释语句,可增强程序的可读性,不参与模型的建立。

名称

含义

IPBound

(整数规划的界)

显示整数规划的界(对最大化问题显示上界;

对最小化问题,显示下界):

“N/A”含义同上。

Branches

(分枝数)

显示分枝定界算法已经计算的分枝数:

“N/A”含义同上。

ElapsedTime

(所用时间)

显示计算所用时间(秒):

“0.00”说明计算太快了,用时还不到0.005秒。

UpdateInterval

(刷新本界面的时间间隔)

显示和控制刷新本界面的时间间隔:

“1”表示1秒;

用户可以直接在界面上修改这个时间间隔。

InterruptSolver

(中断求解程序)

当模型规模比较大时(尤其对整数规划),可能求解时间会很长,如果不想再等待下去时,可以在程序运行过程中用鼠标点击该按钮终止计算。

求解结束后这个按钮变成了灰色,再点击就不起作用了。

Close(关闭)

该按钮只是关闭状态窗口,并不终止计算。

如果你关闭了状态窗口,将来随时可以选择WINDOW|OPENSTATUSWINDOW菜单命令来再次打开这个窗口。

输出结果表示的意思是:

“LPOPTIMUMFOUNDATSTEP2”

表示单纯形法在两次迭代(旋转)后得到最优解

“OBJECTIVEFUNCTIONVALUE1)7.4545450”

表示最优目标值为7.4545450.(注意:

在LINDO中目标函数所在的行总是被认为是第1行,这就是这里“1)”的含义)。

“VALUE”

给出最优解中各变量(VARIABLE)的值:

X=1.272727,Y=1.636364.

“REDUCEDCOST”给出最优的单纯形表中目标函数行(第1行)中变量对应的系数(即各个变量的检验数(也称为判别数)).其中基变量的reducedcost值一定为0;

对于非基变量(注意:

非基变量本身取值一定为0),相应的reducedcost值表示当该非基变量增加一个单位(其他非基变量保持不变)时目标函数减少的量(对max型问题)。

本例最优解中两个变量都是基变量,所以对应的REDUCEDCOST的值均为0。

“SLACKORSURPLUS(松驰或剩余)”给出约束对应的松驰变量的值:

第2、3行松驰变量均为0,说明对于最优解来讲,两个约束(第2、3行)均取等号,即都是紧约束。

“DUALPRICES”给出对偶价格的值:

第2、3行对偶价格分别为.090909,.545455。

“NO.ITERATIONS=2”表示用单纯形法进行了两次迭代(旋转)。

LINDO模型的一些注意事项

1. 变量名由字母和数字组成,但必须以字母开头,且长度不能超过8个字符,不区分大小写字母,包括关键字(如MAX、MIN等)也不区分大小写字母。

2. 对目标函数和约束用行号(行名)进行标识,这些标识会在将来的求解结果报告中用到。

行名可以和变量名一样命名,也可以只用数字命名,还可以含有中文字符,但长度同样不能超过8个字符。

为了方便将来阅读求解结果报告,建议用户总是自觉地对每个约束进行命名。

行名结束标志符号、即右括号“)”必须是英文字符,否则会出现错误。

3. 可以用“TITLE”语句对输入的模型命名,用法是在TITLE后面写出其名字(最多72个字符,可以有汉字),在程序中单独占一行,可以在模型的任何地方。

模型命名的第一个作用类似于对模型的注释和说明。

模型命名的另一个目的,是为了方便将来阅读求解结果报告。

因为用户有可能同时处理多个模型,很容易混淆模型与求解结果的对应关系。

这时如果对不同模型分别进行了命名,就可以随时(例如在求解当前模型前)使用菜单命令“FILE|TITLE”将当前模型的名字显示在求解结果报告窗口中,这样就容易判别每个求解结果与每个模型的对应关系。

4. 模型中以感叹号“!

”开头的是注释行(注释语句,或称为说明语句),可以帮助他人或以后自己理解这个模型。

实际上,每行中“!

”符号后面的都是注释或说明。

注释语句中可以使用汉字字符。

5. 变量不能出现在一个约束条件的右端(即约束条件的右端只能是常数);

变量与其系数间可以有空格(甚至回车),但不能有任何运算符号(包括乘号“*”等)。

6. 模型中不接受括号“()”和逗号“,”等符号(除非在注释语句中)。

例如:

4(X1+X2)需写为4X1+4X2;

“10,000”需写为10000。

7. 表达式应当已经经过化简。

如不能出现2X1+3X2-4X1,而应写成-2X1+3X2等。

8. LINDO中已假定所有变量非负。

若要取消变量的非负假定,可在模型的“END”语句后面用命令“FREE”。

例如,在“END”语句后输入FREEvname,可将变量vname的非负假定取消。

9. 可以在模型的“END”语句后面用命令“SUB”(即设置上界(SETUPPERBOUND)的英文缩写)设定变量的上界,用命令“SLB”(即设置下界(SETLOWERBOUND)的英文缩写)设定变量的上下界。

其用法是:

“SUBvnamevalue”将变量vname的上限设定为value;

“SLB”的用法类似。

用“SUB”和“SLB”表示的上下界约束不计入模型的约束,因此LINDO也不能给出其松紧判断和敏感性分析。

10. 数值均衡化考虑:

如果约束系数矩阵中各非零元的绝对值的数量级差别很大(相差1000倍以上),则称其为数值不均衡的。

为了避免数值不均衡引起的计算问题,使用者应尽可能自己对矩阵的行列进行均衡化。

此时还有一个原则,即系数中非零元的绝对值不能大于100000或者小于.0001。

LINDO不能对LP中的系数自动进行数值均衡化,但如果LINDO觉得矩阵元素之间很不均衡,将会给出警告。

11.简单错误的检查和避免:

输入模型时可能会有某些输入错误.当问题规模较大时,要查找错误是比较困难的。

在LINDO中有一些可帮助寻找错误的功能,其中之一就是菜单命令“Report|Picture(Alt+5)”,它的功能是可以将目标函数和约束表达式中的非零系数通过列表(或图形)显示出来。

例2.2菜单命令“Report|Picture(Alt+5)”的功能

对如下的一个有错误的模型输入:

MIN5A0+6A1+2A2+4B0+3B1+7B2+2C0+9C1+8C2

SUBJECTTO

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弄混了)。

在图中,还可以用鼠标控制显示图形的缩放,这对于规模较大的模型是有用的。

例2.3三个变量范围限定命令(FREE、SUB、SLB)的作用

求解如下的LP问题:

这个模型中对变量x没有非负限制,对y有上限限制,对z有下限限制。

用FREE、SUB、SLB三个命令可以实现这些功能。

具体输入如下:

MAX2x–3y+4z

S.T.

con2)4x+3y+2z<

=10

con3)-3x+5y-z<

12

con4)x+y+5z>

8

con5)-5x-y-z>

2

freex!

说明:

变量x没有非负限制

suby20!

变量y的上界为20

slbz30!

变量z的下界为30

解得到的结果:

最大值为122,最优解为x=-17,y=0,z=39。

可以看出y的上界(20)在最优解中并没有达到,z的下界(30)也没有达到,因此模型中去掉“suby20”和“slbz30”两个语句,得到的结果应该是不变的。

但由于最优解中x的取值为负值,所以“freex”这个语句确实是不能少的。

不妨试一下,去掉这个语句后效果会怎样?

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1