Download presentation
Presentation is loading. Please wait.
1
数学试验 LINDO软件包
2
LINDO软件包介绍 初试LINDO 用LINDO求解整数规划 注意事项
3
LINDO是一种专门用于求解数学规划问题的优化计算软件
包,版权现在由美国 LINDO系统公司(Lindo System Inc.) 所拥有.LINDO软件包的特点是程序执行速度很快,易于输 入、修改、求解和分析一个数学规划(优化问题),因此 LINDO在教育、科研和工业界得到广泛应用.有关该软件的 发行版 本、发行价格和其他最新信息都可以从LINDO系统公 司的INTERNET 网络站点http: //www. lindo. com获取, 该站 点还提供部分LINDO软件的演示版本或测试版本学生版和演 示版与发行版的主要区别在于对优化问题的规模(变量和约束 数) 有不同的限制.
4
LINDO是Linear Interactive and Discrete Optimizer 字首的缩
写形式,可以用来求解线性规划(LP--Linear Programming )、 整数规划( IP --Integer Programming )和 二次规划(QP-- Quadratic Programming )问题.LINDO学生版可求解多达 200 个变量和100个约束的规划问题.
5
初试 LINDO 如解如下LP 问题 : LINDO 中己假设所有的变量都是非负的,所以非负约束条件不
(实际上任何小写字符都将被转换为大写字符);约束条件中的 “<=”及“>=” 可用“<” 及 “>” 代替.上述问题用键盘输入如下 :
6
:MAX 2X+3Y ? ST ( 说明:也可写成S.T., SUCH THAT 或 SUBJECT TO 等) ? 4X+3Y<10 ? 3X+5Y<12 ? END : 注:目标函数为第1行,两个约束条件分别为第2,3行. 直接键入运行命令(GO) 就可得到解答,屏幕显示如下:
7
LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1 ) 7.4545450
单纯形法在2次迭代后得到最优解。 :GO LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1 ) VARIABLE VALUE REDUCED COST X Y ROW SLACK OR SURPLUS DUAL PRICES NO.ITERATIDNS=2 DO RANGE (SENSITIVITY)ANALYSIS ? 最优目标值 最优解:
8
LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1 ) 7.4545450
:GO LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1 ) VARIABLE VALUE REDUCED COST X Y ROW SLACK OR SURPLUS DUAL PRICES 2) 3) NO.ITERATIDNS=2 DO RANGE (SENSITIVITY)ANALYSIS ? 减少的成本 对偶价格 单纯形进行了2次迭代 带有松弛变量和剩余变量的最优解: 检验数
9
一个问题解答之后 ,LINDO会询问是否需要作灵敏度分析
(DO RANGE(SENSITIVITY)ANALYSIS?). 如果不需要 , 你应回答 "N"(No), 回到提示符 ":" 之下 . 如果想重新看到刚才输入的模型 , 可键入 LOOK命令, LINDO 会询问具体的行号范围(也可直接将行号范围写在 LOOK后).典型的行号范围可以是3,或1-2,或ALL,而结果 相应地会显示出第3行、第1-2行,或问题的所有行.如: :LOOK ROW :
10
( 等价于直接命令 “LOOK3”) 3 ) 3X+5Y<=12 : 如果想修改问题,可键入ALTER命令,LINDO会询问行号,变 量名及新的系数,例如:若想将上述问题中约束条件4x+3y ≤10,修改为6x+3y≤10,然后再全部看一下,并求解新问题, 那么键入ALTER命令后相应要键入2,X,6然后再键入: “LOOK ALL”. 在相应位置再键入“GO”,就会给出解答 .以 下是屏幕上演示过程 :
11
:ALTER ROW : 2 VAR: X NEW COEFFICIENT : ( 等价于直接命令 “ALTER2X6” ) : LOOK ALL MAX 2X+3Y SUBJECT TO 2) 6X+3Y<=10 3)3X+5Y<=12
12
END :GO LP OPTIMUM FOUND AT STEP O OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X Y ROW SLACK OR SURPLUS DUAL PRICES
13
改动约束条件的右端项,可以将RHS (即right--hand side)作为
NO.ITERATIONS=0 DO RANGE (SENSITIVITY)ANALYSIS? ? N : QUIT 改动约束条件的右端项,可以将RHS (即right--hand side)作为 变量名.改变约束条件中的不等号方向(如<或>,可以将DIR 作为变量名.修改问题还可用EXT命令(增加新的约行),DEL 命令(去掉一行)和APPC 命令(增加一个新的变量), 也可用 EDIT全屏幕编辑器 .
14
灵 敏 度 分 析 下面用一个具体例子来说明 LINDO 软件求对偶变量及进行 灵敏度分析 .
例 有一家具制造车间,制造书桌(DESK)、桌子(TABLE)、 椅子(CHAIR), 所用原料及木工、漆工的数据如表1所示 . 表 1 每个书桌 每个桌子 每个椅子 资源总数 术料 8单位 6单位 1单位 48单位 漆工 4单位 2单位 1.5单位 20单位 木工 0.5单位 成品单价 60单位 30单位
15
若要求桌子的生产量不超过 5 件,问如何安排三种产品的
产量可使收入最大 ? 用 分别表示书桌、桌子、椅子的生产量.建立LP 模型 :
16
将上述模型输入LINDO并求解 : :MAX 6OX1+3OX2+2OX3 ? S.T ? 2) 8X1+6X2+x3<48
? ) 4XI+2X2 +1.5X3 < 20 ? ) 2XI+1.5X2+0.5X3 <8 ? ) X <5 ? END : GO
17
LINDO在2次迭代后得到最优解。 LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST XI X X ROW SLACK OR SURPLUS DUAL PRICES 2) 3) 4) 5) 最优目标值 最优解 带有松弛变量的最优解 检验数
18
DO RANGE(SENSITIVITY)ANALYSIS? ? Y
是否需要作灵敏度分析? NO.ITERATIONS=2 DO RANGE(SENSITIVITY)ANALYSIS? ? Y RANGES IN WHICH THE BASIS IS UNCHANGED. OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE Xl X INFINITY X C1在区间 [60-4,60+20] =[56, 80]的范围内变化时,最优基保持不变(最优解的值也不变,但最优值可能要改变)。 [30-∞,30+5] =(-∞,35] 价值系数ci
19
ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE
约束行的右端项值在什么范围内变化,最优基保持不变。 RIGHT HAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE INFINITY INFINITY 右端项值 第5行约束(即第4个约束方程),右端项当前值为5,允许增加为∞,允许减少值为5,即当其右端项旨在[5-5,5+∞]=[0,∞)内变化时,最优基不变(最优值及最优解的值可能要变)
20
若需要显示单纯形表,可执行TABLEAU命令.
右端项值 若需要显示单纯形表,可执行TABLEAU命令. Z :TABLEAU THE TABLEAU ROW(BASIS) x1 x x3 SLK2 SLK3 SLK4 SLK5 1 ART 2 SLK x 4 x 5 SLK 检 验 行 基向量 最优解:
21
注意LINDO软件在使用单纯形法时,目标函数行使用的 公式是: 而我们第2章中使用 的公式是: 因此它的检验数
含有所有变量的最优解: 注意LINDO软件在使用单纯形法时,目标函数行使用的 公式是: 而我们第2章中使用 的公式是: 因此它的检验数 值与我们第2章中介绍的差一个符号。
Similar presentations