Lindo软件的基本使用
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
2.1 Lindo软件入门
2.1.1 编写一个简单的Lindo程序
下面通过一个简单的例子,说明如何编写、运行一个Lindo程序的完整过程.
例2.1 求解下面的简单线性规划(LP)问题:
max23zxy,,()1
s.t.4310,xy,,()2
3512,xy,,()3
(4)xy,0.,
我们可以直接在
这个新的、空白的模型窗口中输入这个LP模型:
图2-1 输入一个简单的优化模型
我们看到这段程序有以下特点:
(1) 这个Lindo程序以“max”开头,
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示目标是最大化问题(容
易想到,对于最小化问题,自然以“min”开头),后面直接写
出目标函数的表达式和约束的表达式(目标函数和约束之间用
“ST”分开)程序以“end”结尾(end也可以省略);
Lindo运行状态窗口
名称 含义
显示当前求解状态:“optimal”表示已经达到最优解;其它Status(当前状态) 可能的显示还有:feasible,infeasible,unbounded Interations(迭代次数) 显示迭代次数,2表示已经迭代了两次
约束不满足的量(即各个约束条件不满足的“数量”的和;Infeasible(不可行性) 特别注意不是“不满足的约束的个数”):“0”表示这个解是
可行的
Objective(当前的目标目标函数显示的值为:7.45455
值)
Best IP(整数规划当前显示整数规划当前的最佳目标值:“N/A”(No anwser或Not 的最佳目标值) Applicable)表示无答案或无意义,因为整个模型中没有整数
变量,不是整数规划
IP bound(整数规划的显示整数规划的界(对最大化问题显示上界;对最小化问题界) 显示下界):“N/A”含义同上
Branches(分支数) 显示分支定界算法已经计算的分支数:“N/A”含义同上 Elapsed time(所用时显示计算所用时间(单位:s)“0.00”表示计算太快了,用间) 时还不到0.05秒
Update Interval(刷新显示和控制刷新本界面的时间间隔:“1”表示“1s”;用户可本界面的时间间隔) 以在界面上修改该时间
Interrupt Solver(中当模型规模比较大时(尤其对整数规划),可能求解时间会很断求解程序) 长,如果不想再等待下去,可以在程序运行时单击此按钮中
断运行
Close(关闭) 该按钮只是关闭窗口,不终止计算.如果你关闭了状态窗口,
可以在Window|open Staus Window菜单命令来打开它
灵敏性分析对话框
这个对话框询问你是否需要作灵敏性分析(DO RANGE(SENS-
ITIVITY)ANALYSIS,)
Lindo的结果
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
窗口
“LP OPTIMUM FOUND AT STEP 2”表示单纯形法在两次迭代
(旋转)后得到最优解;
“OBJECTIVE FUNCTION VALUE
1) 7.454545 表示最优目标值为7.454545(注意:Lindo
中目标函数所在的行总是被认为是第1行,这就是这里1)的含义).
X, 1.272727 ,“VALUE”给出最优解中各变量(VARIABLE)的值:
Y,1.636364
“REDUCED COST”给出最优的单纯形表中目标函数(第1行)中变量对应的系数(即各个变量的检验数(也称为判别数)).其中,基变量的REDUCED COST值一定为0;对于非基变量(注意:非基变量本身取值一定为0),相应的REDUCED COST值表示当该非基变量增加一个单位(其
他非基变量保持不变)时目标函数减少的量(对Max问题).
“SLACK OR SURPLUS(松弛或剩余)”给出约束对应的松弛变量的值:第2,3行松弛变量均为0,说明对最优解来说。两个约束(第2、3行)均取等号,即都是紧约束.
“DUAL PRICES”给出对偶价格的值:第2、3行对偶价格分别为:0.090909,0.545455.
“NO. ITERATIONS=2”表示用单纯形算法进行了两次迭代(旋转).
2.1.2 一些注意事项
(1) Lindo中的变量名由数字和字母组成,但必须以字母开头,
且长度不能超过8个字符.Lindo中不区分大小写。包括
LINDO中的关键字也不区分大小写.
(2) 可以在模型的End后面用命令“SUB(即设置上界(set upper
bound)的英文缩写)设置变量的上界,用命令“SLB”设
置变量的下界,其用法是:sub vname value,将变量vname
的上限设置为value.
Sub x1 10 !作用等价于x1<=10
但用SUB和SLB表示上下界约束不计入模型的约束,因此
LINDO也不能给出其松紧约束和敏感性分析.
(3)简单错误的检查和避免
当你将一个线性规划问题的数学模型输入LINDO系统时,如
果有错误,可以使用如下命令:Report|Picture(Alt+5),它的功能
是将目标函数和约束表达式中的非零系数通过列表或者图形显示出来.
例2:输入如下语句,用Reports|picture 命令来检验错误.
输入中含有错误的例子
系数矩阵显示方式的控制对话框
系数矩阵的图形显示
从图中很直观地发现,其实错误的原因只不过在于输入有空格,
第5)行中的o和O弄混淆了.
下面用一个例子来说明三个变量范围限定命令(FREE,SUB,SLB). 例3:求解下面的线性规划问题.
max234;xyz,,(1)
s.t.43210,xyz,,,(2)
,,,,3512,xyz(3) xyz,,,58,
(4),,,,52,xyz
(5)020,30.,,,yz
(6)这个模型中对变量y没有非负限制,对有上限限制,对有下限限制.zx
用free、SUB、SLB可以实现这些功能(
模型的LINDO输入语句
例3的输出结果
xyz,,,,17,0,39从结果报告表中可以知道:最大值为122,最优解为.
2.2 敏感性分析
下面来看一个具体的例子.
例4 某家具公司制造书桌、餐桌和椅子,所用的资源有三种:木材、
木工和漆工.生成数据如下表.若要求桌子的生产量不超过5件,如何
安排三种产品的生产使得利润最大,
家具公司生产数据
每个书桌 每个餐桌 每把椅子 现有资源总量 木材 8单位 6单位 1单位 48单位 漆工 4单位 2单位 1.5单位 20单位 木工 2单位 1.5单位 0.5单位 8单位 成品单价 60单位 30单位 20单位
用desk、table和chair分别表示三种产品的生产量(决策变量),容
易建立LP模型,在LINDO中输入如下: