附录2 LINDO使用手册
: PIV 4 SLK 2 ENTERS AT VALUE 250.00 IN ROW 2 OBJ. VALUE= 0.00000E+00 : 使用PIV命令可以实现如下目的:
(1).一步步地完成单纯形算法的计算。如果将PIV命令与TABL命令交替使用,就可以观察到单纯形表的变化过程。
(2).使某一指定变量进基。这一功能在寻找问题的多重最优解时非常有用。
§3.3 灵敏度分析
对一个问题的数据资料可能产生的波动作进一步的研究,一般称之为灵敏度分析。线性规划的灵敏度分析是在建立数学模型和求得最优解之后,针对数据资料变化而作出的。LINDO提供了这方面的功能。
且看下列操作过程:
:LOOK ALL
321
附录2 LINDO使用手册
GO>Y !是 RANGES IN WHICH THE BASIS IS UNCHANGED COST COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X 2.000000 2.000000 .200000 Y 3.000000 .333333 1.500000 ROW 2 3 : RIGHT HAND SIDE RANGES CURRENT RHS 10.000000 12.000000 ALLOWABLE INCREASE 6.000000 4.666667 ALLOWABLE DECREASE 2.800000 4.500000
322
附录2 LINDO使用手册
第四章 模型编辑
用MAX/MIN命令输入模型时,LINDO不支持全屏幕编辑功能,要对输入的模型进行修改,就必须使用专门的命令来实现。本章介绍与模型编辑有关的五个命令,它们是:参数修改命令ALT(Alter)、行增加命令EXT (Extend)、行删除命令DEL (Delete)、变量上限定义命令SUB(Sipmle Upper Bound)、列增加命令APPC (Apppend Column)、变量下限定义命令SLB(Simple Lower Bound),取消变量上下限命令FREE和模型编辑命令EDIT(已在第一章中介绍)。
§4.1 参数修改命令 ALT (Alter)
1.命令功能:修改内存中模型的参数。 2.命令格式:
:ALT [n]
其中ALT是ALTER的缩写,n代表欲要修改的方程行号。 3.命令使用:在ALT命令下,屏幕上会出现下列提示: VAR: ALT>变量名
!注意:目标函数中X2的系数为3 323
附录2 LINDO使用手册
:ALT 1 VAR: ALT>X2 NEW COEFFICIENT: ALT>5 :LOOK ALL MAX 2X1+5X2 SUBJECT TO 2) X1+2X2<=12 3) 2X1+4X2<=18 END : !修改第一行(目标函数行) !哪个变量 !X2 !新的系数: !新的系数为5 !目标函数中X2的系数已改为5 除了上述基本用法之外,ALT语句还有以下功能:
(1).修改约束方程右边常。在LINDO提示输入要修改的变量名时,如果键入三个字母\及
(2).改变约束方程式的关系符。在LINDO要求输入欲要修改的变量名时,如果键入三个字母\及
(3).修改极大极小类型。如果用ALT语句修改的是第一行,键入DIR及
(4).增添新的变量。如果要在某一约束方程中增添一个新的变量,亦可仿照上述基本操作进行。因为是新出现的变量,屏幕上会出现有关确认与否的提示信息。以上四点内容综合举例如下:
修改右边常数的例子如下: :LOOK ALL MAX 2X1+3X2 SUBJECT TO 2) X1+2X2<=12 3) 2X1+4X2<=18 END :ALT 2 VAR: ALT>RHS NEW COEFFICIENT: ALT>15 :LOOK ALL
!原来右边常数是12 !修改第二行 !哪个变量 !修改右边常数 !请输入新的系数 !新的系数是15 324
附录2 LINDO使用手册
MAX 2X1+3X2 SUBJECT TO 2) X1+2X2<=15 3) 2X1+4X2<=18 END : !新的右边常数是15 修改约束不等号的方向: :LOOK ALL MAX 2X1+3X2 SUBJECT TO 2) X1+2X2<=12 3) 2X1+4X2<=18 END :ALT 2 VAR: ALT>DIR NEW DIRECTION: ALT> > :LOOK ALL MAX 2X1+3X2 SUBJECT TO 2) X1+2X2 >= 12 3) 2X1+4X2 <= 18 END : 修改目标函数优化方向: :LOOK ALL MAX 2X1+3X2 SUBJECT TO 2) X1+2X2<=12 3) 2X1+4X2<=18 END :ALT 1 VAR: ALT>DIR NEW DIRECTION: ALT>MIN :LOOK ALL MIN 2X1+3X2 SUBJECT TO 2) X1+2X2<=12
!注意:这个约束的不等号方向是“<” !修改第二行 !哪个变量 !修改第二行不等号方向 !新的方向 !新的方向是“>” !注意:原来的优化方向是极大化 !修改第一行(目标函数) !输入要修改的变量 !修改优化方向 !新的方向 !极小化 !现在的优化方向是极小化 325