运筹学 北京电大学.ch1-6.pptVIP

  • 2
  • 0
  • 约1.56千字
  • 约 8页
  • 2018-10-18 发布于江苏
  • 举报
运筹学 北京电大学.ch1-6

* §1.6人工变量法 The Artificial Variable Method Ch1 Linear Programming Page * of 8 前面讨论了在标准型中系数矩阵有单位矩阵,很容易确定一组基可行解。在实际问题中有些模型并不含有单位矩阵,为了得到一组基向量和初基可行解,在约束条件的等式左端加一组虚拟变量,得到一组基变量。这种人为加的变量称为人工变量,构成的可行基称为人工基,用大M法或两阶段法求解,这种用人工变量作桥梁的求解方法称为人工变量法。 【例1.15】用大M法解 下列线性规划 【解】首先将数学模型化为标准形式 式中x4,x5为松弛变量,x5可作为一个基变量,第一、三约束中分别加入人工变量,x6、,x7,目标函数中加入―MR6―MR7一项,得到人工变量单纯形法数学模型 再用前面介绍的单纯形法求解,见下表。 Cj 3 2 -1 0 0 -M -M b CB XB x1 x2 x3 x4 x5 x6 x7 -M 0 -M x6 x5 x7 -4 1 2 3 -1 -2 1 2 1 -1 0 0 0 1 0 1 0 0 0 0 1 4 10 1→ λj 3-2M 2+M -1+2M↑ -M 0 0 0 ? -M 0 -1 x6 x5 x3 -6 -3 2 5 3 -2 0 0 1 -1 0 0 0 1 0 0 0 1 ? ? ? ? 3→ 8 1 λj 5-6M 5M↑ 0 -M 0 0 ? ? 2 0 -1 x2 x5 x3 -6/5 3/5 -2/5 1 0 0 0 0 1 -1/5 3/5 -2/5 0 1 0 ? ? 3/5 31/5→11/5 λj 5↑ 0 0 0 0 ? ? ? 2 3 -1 x2 x1 x3 0 1 0 1 0 0 0 0 1 1 1 0 2 5/3 2/3 ? ? 13 31/3 19/3 λj 0 0 0 -5 -25/3 ? ? ? (1)初始表中的检验数有两种算法,第一种算法是利用第一、三约束将x6、x7的表达式代入目标涵数消去x6和x7,得到用非基变量表达的目标函数,其系数就是检验数;第二种算法是利用公式计算,如 (参看第二章第一节); (2)M是一个很大的抽象的数,不需要给出具体的数值,可以理解为它能大于给定的任何一个确定数值; (3)在第二张中x7已出基,故没有计算第七列的数值,同理,第三、四张表中x6、x7都已出基,故第六、七列没有计算; (4)第三、四张表中的基变量没有人工变量x6、x7,因而检验数中不含M; (5)可以看出,人工变量是帮助我们寻求原问题的可行基,第三张表就找到了原问题的一组基变量x2、x5、x3,此时人工变量就可以从模型中退出,也说明原规划有可行解,但不能肯定有最优解。 【例1.16】求解线性规划 【解】加入松驰变量x3、x4化为标准型 在第二个方程中加入人工变量x5,目标函数中加上M x5一项,得到 用单纯形法计算如下表所示。 Cj 5 -8 0 0 M b CB XB x1 x2 x3 x4 x5 0 M x3 x5 3※ 1 1 -2 1 0 0 -1 0 1 6→ 4 λj 5-M↑ -8+2M 0 M 0 ? 5 M x1 x5 1 0 1/3 -7/3 1/3 -1/3 0 -1 0 1 2 2 λj 0 -29/3+7/3M -5/3+1/3M M 0 ?

文档评论(0)

1亿VIP精品文档

相关文档