LINDO软件学习.docx
- 文档编号:3255779
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:9
- 大小:19.61KB
LINDO软件学习.docx
《LINDO软件学习.docx》由会员分享,可在线阅读,更多相关《LINDO软件学习.docx(9页珍藏版)》请在冰豆网上搜索。
LINDO软件学习
§1.2用LINDO求解线性规划(LP)问题
初试LINDO
LINDO的求解机制:
LINDO的求解过程采用单纯形法,一般是首先寻求一个可行解,在有可
行解情况下再寻求最优解.用LINDO求解一个LP问题会得到如下的几种结果:
不可行(Nofeasiblesolution)或可行(Feasible)
可行时又可分为:
有最优解(OptimalSolution)和解无界(UnboundedSolution)两种情况.由于在实
际问题中,不太可能出现最大利润无上限的情形,所以使用者应检查是否少了一个约束或有其它印
刷错误.
让我们来解如下LP问题:
maxz=2x+3y
s.t.4x+3y≤10
3x+5y≤12
x,y≥0
由于LINDO中已假设所有的变量都是非负的,所以非负约束可不必再输入到计算机中;LINDO
也不区分变量中的大小写字符(实际上任何小写字符将被转换为大写字符);约束条件中的“<=”及
“>=”可用“<”及“>”代替.上面问题用键盘输入如下:
MAX2X+3Y
ST
4X+3Y<10
3x+5Y<12
END
LINDO中一般称上面这种问题实例(INSTANCE)为模型(MODEL).以后涉及该模型时,目标函
数为第一行,两个约束条件分别为第二、三行.点击求解模型,结果如下:
LPOPTIMUMFOUNDATSTEP2
OBJECTIVEFUNCTIONVALUE
1)7.454545
VARIABLEVALUEREDUCEDCOST
X1.2727270.000000
Y1.6363640.000000
ROWSLACKORSURPLUSDUALPRICES
2)0.0000000.090909
3)0.0000000.545455
NO.ITERATIONS=2
计算结果表明:
“LPOPTIMUMFOUNDATSTEP2”表示单纯形法在两次迭代(旋转)后得到最优解.
110
“OBJECTIVEFUNCTIONVALUE1)7.4545450”表示最优目标值为7.4545450.
“VALUE”给出最优解中各变量(VARIABLE)的值:
X=1.272727,Y=1.636364.
“REDUCEDCOST”给出最优单纯形表中第0行中变量的系数(max型问题).其中基变量的
reducedcost值应为0,对于非基变量,相应的reducedcost值表示当该非基变量增加一个单位时目标
函数减少的量.本例中此值均为0.
“SLACKORSURPLUS”给出松驰变量的值:
第2、3行松驰变量均为0,说明对于最优解来讲,
两个约束(第2、3行)均取等号.
“DUALPRICES”给出对偶价格的值:
第2、3行对偶价格分别为.090909,.545455.
“NO.ITERATIONS=2”表示用单纯形法进行了两次迭代(旋转).
一个问题解答之后,LINDO会询问是否需要做灵敏性分析(DORANGE(SENSITIVITY)
ANALYSIS?
)如果你不需要,你应回答“N”(NO).
存储模型
下面即是一个具体应用的例子:
(可参照上述使用步骤)
首先输入问题:
MAX60DESKS+30TABLES+20CHAIRS
SUBJECTTO
2)8DESKS+6TABLES+CHAIRS<=48
3)4DESKS+2TABLES+1.5CHAIRS<=20
4)2DESKS+1.5TABLES+0.5CHAIRS<=8
5)TABLES<=5
END
问题求解,要求做敏感性分析
LPOPTIMUMFOUNDATSTEP2
OBJECTIVEFUNCTIONVALUE
1)280.0000
VARIABLEVALUEREDUCEDCOST
DESKS2.0000000.000000
TABLES0.0000005.000000
CHAIRS8.0000000.000000
ROWSLACKORSURPLUSDUALPRICES
2)24.0000000.000000
3)0.00000010.000000
4)0.00000010.000000
5)5.0000000.000000
NO.ITERATIONS=2
RANGESINWHICHTHEBASISISUNCHANGED:
OBJCOEFFICIENTRANGES
VARIABLECURRENTALLOWABLEALLOWABLE
COEFINCREASEDECREASE
DESKS60.00000020.0000004.000000
TABLES30.0000005.000000INFINITY
CHAIRS20.0000002.5000005.000000
RIGHTHANDSIDERANGES
ROWCURRENTALLOWABLEALLOWABLE
111
RHSINCREASEDECREASE
248.000000INFINITY24.000000
320.0000004.0000004.000000
48.0000002.0000001.333333
55.000000INFINITY5.000000
仍以上面的问题DAKOTA为例,下面给出其结果的一般注释:
“LPOPTIMUMFOUNDATSTEP2”表示LINDO在(用单纯形法)两次迭代或旋转后得到最优解.
“OBJECTIVEFUNCTIONVALUE280.000000“表示最优目标值为280.
“VALUE”给出最优解中各变量的值.例Dakota问题中需造2个(书桌)desks,0个(桌子)tables,和
8个(椅子)chairs.
“SLACKORSURPLUS”给出松驰变量的值.上例中
s1=第2行松驰变量=24
s2=第3行松驰变量=0
s3=第4行松驰变量=0
s4=第5行松驰变量=5
“REDUCEDCOST”出最优单纯形表中第0行中变量的系数(max型问题).其中基变量的reduced
cost值应为0,对于非基变量,相应的reducedcost值表示当增加一个单位时目标函数减少的量.
敏感性分析
使用LINDO时,结果输出中会提供敏感性分析.这一信息一般包含于两个标题之下,其一是
REDUCEDCOSTS,另一个是DUALPRICES.它们分别表示了当变量或约束条件有微小变动时,目
标函数的变化率.
在输出结果中对应于每个变量都有一个REDUCEDCOST,若其数值为x,表示对应的变量为零
时,若增加1个单位,目标函数将减少x个单位.
输出结果中对应于每一个约束也都有一个DUALPRICE.若其数值为x,表示对应约束中不等式
右端项若减少1个单位,目标函数将增加x个单位.
如果REDUCEDCOST或DUALPRICE的值为0,表示微小扰动不影响目标函数.
有时,通过分析DUALPRICE,也可对产生不可行问题的原因有所了解.
注意事项:
1)LINDO中已假定所有变量非负.变量名不能超过8个字符.
2)如要输入<=或>=型约束,相应以<或>代替即可.
3)LINDO不允许变量出现在一个约束条件的右端.
4)目标函数及各约束条件之间一定要有空格分开.
5)一般LINDO中不能接受括号()和逗号",",例:
400(X1+X2)需写为400X1+400X2;10,000需
写为10000.
6)14)LINDO将目标函数所在行作为第一行,从第二行起为约束条件.行号自动产生,也可以
人为定义行号或行名.行名和变量名一样,不能超过8个字符.
7)15)数值均衡化及其它考虑.LINDO不能将LP中的矩阵进行数值均衡化.为了避免数值问
题,使用者应自己对矩阵的行列进行均衡化.一个原则是,系数矩阵中非零元的绝对值不能大于
100,000或者小于0.0001.如果LINDO觉得矩阵元素之间很不均衡,将会给出警告.
8)量纲分析与一般错误的避免.
LINDO部分常命令中文注释如下:
MAX/MIN命令:
用于输入一个包含目标函数,约束条件在内的LP模型.
输入程序如下:
输入"MAX"(或"MIN"),继之以自然格式的目标函数作为第一行;再输入
"SUBJECTTO"(可简写为"ST"),后面跟约束条件行.最后,输入"END"回到命令状态模式.以后只需
112
给出"GO"命令即可开始优化求解过程.
其中,变量名可以由1—8个字母或数字型的字符构成,且第一个字符必须是字母.变量系数不
能是指数型,例如:
.258E+29形式的系数是不允许的.关键词("MAX","ST","END"...)及各行之间必
须用一个或多个空格分隔开.空格可以出现在一行之中,但不能出现在变量名中.一个回车符等价
于一个空格.
下面是同一问题的两种合法的输入方式:
1)MIN2X+3Y
SUBJECTTO-5X-2Z<=10
+10X-Y>5
END
2)MIN2X+3Y
ST-5X-2Z<10
10X-Y>+5
END
其它一些有用的符号有:
算术运算符逻辑运算符关系运算符顺序运算符
+-/*^.AND.><=#()
LOG()EXP().OR.
ABS().NOT.
GIN命令:
GIN命令可将问题模型中的变量标为0/1型.第一种格式为"GINn",其中n是整型变量的个数.
LINDO要求整型变量应放在问题模型的最前面.第二种格式为"GINvar-id",其中"var-id"是变量名.
§1.3用LINDO求解整数规划和二次规划问题
3.1整数规划(IP)
LINDO可用于求解单纯的或混合型的整数规划(IP)问题.但目前尚无相应完善的敏感性分析理
论.IP问题的输入与LP问题类似,但在END标志后需定义整型变量.
0/1型的变量可由INTEGER(可简写为INT)命令来标识:
INTEGERvname或INTEGERn
前者只将变量vname标识为0/1型,后者将当前模型中前n个变量标识为0/1型.模型中变量顺
序由输入决定,该顺序可由输出结果中查证.
具体演示如下:
MAX4TOM+3DICK+2HARRY
ST
2.5TOM+3.1HARRRY<5
.2TOM+.7DICK+.4HARRY<1
END
:
INTTOM
:
INTDICK
:
INTHARRY
求解结果:
LPOPTIMUMFOUNDATSTEP3
OBJECTIVEVALUE=7.71428585
113
NEWINTEGERSOLUTIONOF7.00000000ATBRANCH0PIVOT3
RE-INSTALLINGBESTSOL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LINDO 软件 学习