算法之单纯形法篇,通俗易懂,手把手教你如何解题

单纯形法

序言:写的主要是如何解题,没有过于研究他的原理,至于为什么要这样做,原因在哪,依据在哪,等我以后有时间再好好研究吧。

一、简述一下做这类题目的解题步骤:

  1. 首先将他标准化。
  2. 画出表,填入对应的数据。
  3. 算检验数 :Cj–∑(Cb*Xi) ,算哪一列就用哪列。
  4. 算完检验数Z后,找最大正检验数(此处列举max方法),找到了然后看他所在的列(比如X1),将其作为换入,接着我们算θ :θ 为 b÷该列所对应的值,接着得到对应的θ(0和负数都为"–")找"θ “值最小的行作为换出( 比如X5),找出的Z和θ 俩者相交的数为"主元”,主元要是不为1,则需先变换为1,然后对除主元以外的行进行"初等行变换",b 那一列也需要同步进行。变换后得到新表。
  5. 得到新表时因注意,换入的(X1)其对应的系数也要写进去,也就是Cb这一列,然后依次进行、3、4、5、步骤,直到检验数Z全部 <=0。(这是求max得到最终表的条件
  6. 得最优解:X*(X1,X2,X3,X4…Xn)T
  7. 得最优值:Z *= ∑Cb列 × b列
  8. 关于单纯形法俩种题目问法相应的解法对比:
    ① 主要是检验数的选取不同:
    min : 检验数Z找"负数"绝对值最大的,θ仍然找最小值。
    max : 检验数Z找正数最大的,θ仍然找最小值。
    然后确定相应的主元
    ② 得到最终表的条件不同:
    min : 最终的表检验数 Z>=0。
    max :最终的表检验数 Z<=0。

二、举个列子实际说明一下

题目如下:
在这里插入图片描述① 化标准型:
在这里插入图片描述
② 列初始单纯形表:
在这里插入图片描述③找对应的基变量和非基变量进行换入与换出,注意换入的系数也要跟着换
在这里插入图片描述
④得到新的表,不符合要求的话接着继续划
在这里插入图片描述
⑤得到最终表
在这里插入图片描述
⑥此例是算max,所以最终检验数全部化为小于等于0,如果是求min则相反。

ps :觉得对小伙伴有用的话,不妨伸出小手指点个赞,如果有错的地方欢迎大家来一起探讨!!!

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页