让你一遍就会的【单纯形法解线性规划最优】

说明:在一开始不懂的时候自己也查了一些资料,方法跟本文的有一些细小的区别(比如说主列的寻找这里的符号就不一样,目前还没能查到是为什么。),本文是基于老师给的资料的方法上,通过自己的实践,对方法中一些涉及到公式的地方进行了简化,也就是没有按照严格的步骤去进行。想看老师给的原方法的可以私信,我把资料分享给你。

方法步骤

1、把不等式方程组以及目标函数都变成等式方程:把不等号化成等号

2、在约束条件(也就是在这一步没有目标函数什么事)的等式方程组中引入额外的基变量

     1)观察不等式的符号,"<="的,基变量的系数为1,">="的,基变量的系数为-1;

     2)  基变量的下标从原来的变量的基础上+1,一般地,按照从上往下的顺序分别给方程组加入基变量;

    3)引入的基变量是放在左边(也就是含有变量的那一侧);

3、跟据上面两部的方程组构建原始表格;

4、选择主元素,变化表格;

     1)主列:最后一行最小的负数的,(注意只考虑负的,我看到别的教程有说是正的,这里是基于老师给的资料进行的,应该是没有错,在文末我会通过excel法进行验证。关于别人的教程为什么是正的,以后有时间进行补充)

     2)主行:常数列不包含目标函数)中最小的值所在

     3)主元素:主行和主列相交的值

     4)更具主元素更改基变量:主元素所在的变量

5、化简表格(我直接用最简行列式的方式进行的,资料和查到的教程有公式,但我使用的时候有很多的不懂地方,这个方法已经通过多个例子验证是正确的,我觉得应该有理论支撑,日后如果遇到会补充上,有知道的也可以在评论区告诉我,应该就是线代里面的。);

6、判断是否已经得到最优解:最后一行是否有负数;

     1)如果没有达到最优解,需要重复步骤4、5;

     2)否则找到最优解 ;

这里有个疑问:如果没有最优解会是什么样的?

题目实战

题目:


步骤1 不等式变等式
变化结果如下$$\left\{ \begin{array}{c}   - x_1+2x_2=5 \\ 
5x_1-2x_2=8 \\     
8x_1-3x_2=2\end{array}\right. $$

步骤2 引入基变量
这里的符号是“<=",所以,在三个约束函数中引入的基变量分别是:$$x_3、x_4、x_5$$并且系数为1,如下:
$$\left\{ \begin{array}{c}   - x_1+2x_2+x_3=5 \\ 
5x_1-2x_2+x_4=8 \\     
8x_1-3x_2+x_5=2\end{array}\right. $$

* 这里输入花括号的方式源自博客:https://blog.csdn.net/doubleguy/article/details/84308153


步骤3 构建原始表格
按照这个模式构建就行。

基变量Bx1x2x3x4x5
x35        -1        2        1        0        0        
x48        5        -1        0        1        0        
x52        8        -3        0        0        1        
Z(X)0        -2        3        0        0        0        

注意:原来的目标函数的系数是正的,但是这里因为我们要把变量移到左边,所以符号发生了改变,也就是目标函数的系数变成原来的相反数。

下标表示法源自博文:https://blog.csdn.net/qq_40902753/article/details/88933081

步骤4 找主元素,变化表格

1、选择主列

选择方式:最后一行最小的负数,比如这里就是-2,

基变量Bx1x2x3x4x5
x35        -1        2        1        0        0        
x48        5        -1        0        1        0        
x52        8        -3        0        0        1        
Z(X)0        -2        3        0        0        0        

所以选中x1所在的

基变量Bx1x2x3x4x5
x35        -1        2        1        0        0        
x48        5        -1        0        1        0        
x52        8        -3        0        0        1        
Z(X)0        -2        3        0        0        0        

2、主行

选择常数列B那一列最小值(不包括Z(x))所在的行.这最小的就是2,也就是x5所在的

基变量Bx1x2x3x4x5
x35        -1        2        1        0        0        
x48        5        -1        0        1        0        
x52        8        -3        0        0        1        
Z(X)0        -2        3        0        0        0        

3、主元素

主行和主列相交的值(这里就是8),他对应的变量(这里是x1)被我们选为基变量,

4、更改表格

把主元素所在的列变量换掉它所在行对应的变量(也就是说基变量产生了变化,这里就是x5 变成x1)

基变量Bx1x2x3x4x5
x35        -1        2        1        0        0        
x48        5        -1        0        1        0        
x12        8        -3        0        0        1        
Z(X)0        -2        3        0        0        0        

跟上一个表相比,这个表仅仅只是基变量发生了变化。接下来,我们要开始对这个表化简。

5、化简表格

  1. 主元素:主行和主列相交的值,就是8
  2. 化简的最终目标:主元素所在的单元格变成1他所在的列其他元素均为0
  3. 化简方式:最简行列式化简(完全就是按照这个规则去做的,因为如果按照公式的话不会选区)
基变量Bx1x2x3x4x5
x35 1/40    1 5/81    0     1/8
x46 3/40     7/80    1    - 5/8
x1 1/41    - 3/80    0     1/8
L(X) 1/20    2 1/40    0     1/4

会最简行列式化简的可以跳过这里
1)先把主元素所在的单元格变成1,原来是几就除以几,
比如这里是8,然后整行也跟着除以8就可以了;
2)把主元素所在的列其他的变成0,通过加主元素所在
的行的某个倍数达到,比如第二中主元素对应的列的值
是5,所以第2行每个数都减去主元素所在行的5倍(也
就是加了“-5”倍。其他行同理

说明:因为是通过excel计算,然后保留成分数的样子,所以它化成了真分数的形式。

6、 判断是否达到最优解

判断方式:最后一行是否还有负数。显然我们这里是没有的,所以已经是最优解了。

额外的知识点:excel也是可以直接进行规划求解的,我们用它来验证一下,下面也会介绍具体的步骤。

按照途中的格式排好(当然那些只是为了你更清楚地知道每个单元格的含义,也可以不写),x~1,x~2~的值默认为1,然后B3到B6就是分别把目标函数和约束条件的系数代进去,如红色框所示;

选中目标函数的值所在的单元格,这里是B3,在菜单栏中分别执行:【数据】--> 【模拟分析】-->【规划求解】(这一步我在office的excel中没有找到,我是用wps做的)-->(目标自动填充)更改的和约束需要我们我们选择,更改的就是变量,约束直接根据方程组来就行-->【求解】

结果如下,是否保留就看你自己的需求,这里一看结果,x1、x2都有值

 跟上面的结果看似不一样,但是我们把单元格改成分数后就一样了(因为x2的值特别的小,小到可以忽略不记)

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值