单纯形法步骤详解(附例题)

这篇具有很好参考价值的文章主要介绍了单纯形法步骤详解(附例题)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用单纯形法求解下列问题:
M a x 6 x 1 + 14 x 2 + 13 x 3 Max 6x_1 + 14x_2 + 13x_3 Max6x1+14x2+13x3
s . t . { x 1 + 4 x 2 + 2 x 3 ≤ 48 x 1 + 2 x 2 + 4 x 3 ≤ 60 x 1 , x 2 , x 3 ≥ 0 s.t.\left\{ \begin{aligned} x_1+4x_2+2x_3&\le48\\ x_1+2x_2+4x_3&\le60\\ x_1,x_2,x_3&\ge0 \end{aligned} \right. s.t. x1+4x2+2x3x1+2x2+4x3x1,x2,x348600

将模型转化为标准形式

首先进行标准化,线性规划的标准形式:
( L P ) { M a x C T X s . t . A x = b x ≥ 0 (LP)\left\{ \begin{aligned} &MaxC^TX\\ &s.t.Ax=b\\ &x\ge0 \end{aligned} \right. LP MaxCTXs.t.Ax=bx0
即约束条件都是等式,等式约束的右端项为非负的常数,每个变量都要求取非负数值(无约束也不行)

方法
  1. 若目标函数为最小值,将目标函数取一个负数转换为求最大值即可
  2. 若约束为不等式。约束方程为“≤”不等式,则可在“≤”不等式的左端加入非负松弛变量,把原不等式变为等式;约束方程为“≥”不等式,则可在“≥”不等式的左端减去非负剩余变量(也可称松弛变量),把原不等式变为等式约束条件。
  3. 若表达式 x i x_i xi没有约束。用 x i − x j x_i-x_j xixj代替 x i x_i xi即可。
例题

M i n − x 1 + 2 x 2 − 3 x 3 Min -x_1 + 2x_2 - 3x_3 Minx1+2x23x3
s . t . { x 1 + x 2 + x 3 ≤ 7 x 1 − x 2 + x 3 ≥ 2 3 x 1 − x 2 − 2 x 3 = − 5 x 1 , x 2 ≥ 0 , x 3 无约束 s.t.\left\{ \begin{aligned} x_1+x_2+x_3&\le7\\ x_1-x_2+x_3&\ge2\\ 3x_1-x_2-2x_3&=-5\\ x_1,x_2\ge0,x_3&无约束 \end{aligned} \right. s.t. x1+x2+x3x1x2+x33x1x22x3x1,x20,x372=5无约束
将该LP问题转化为标准型:
M a x x 1 − 2 x 2 + 3 ( x 3 − x 4 ) + 0 x 5 + 0 x 6 Max x_1 - 2x_2 + 3(x_3-x_4)+0x_5+0x_6 Maxx12x2+3(x3x4)+0x5+0x6
s . t . { x 1 + x 2 + x 3 − x 4 + x 5 = 7 x 1 − x 2 + x 3 − x 4 − x 6 = 2 − 3 x 1 + x 2 + 2 ( x 3 − x 4 ) = 5 x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ≥ 0 s.t.\left\{ \begin{aligned} x_1+x_2+x_3-x_4+x_5&=7\\ x_1-x_2+x_3-x_4-x_6&=2\\ -3x_1+x_2+2(x_3-x_4)&=5\\ x_1,x_2,x_3,x_4,x_5,x_6&\ge0 \end{aligned} \right. s.t. x1+x2+x3x4+x5x1x2+x3x4x63x1+x2+2(x3x4)x1,x2,x3,x4,x5,x6=7=2=50

接原问题, \textbf{接原问题,} 接原问题,将原LP问题化为标准型可得:
M a x 6 x 1 + 14 x 2 + 13 x 3 + 0 x 4 + 0 x 5 Max 6x_1 + 14x_2 + 13x_3+0x_4+0x_5 Max6x1+14x2+13x3+0x4+0x5
s . t . { x 1 + 4 x 2 + 2 x 3 + x 4 = 48 x 1 + 2 x 2 + 4 x 3 + x 5 = 60 x 1 , x 2 , x 3 , x 4 , x 5 ≥ 0 s.t.\left\{ \begin{aligned} x_1+4x_2+2x_3+x_4&=48\\ x_1+2x_2+4x_3+x_5&=60\\ x_1,x_2,x_3,x_4,x_5&\ge0 \end{aligned} \right. s.t. x1+4x2+2x3+x4x1+2x2+4x3+x5x1,x2,x3,x4,x5=48=600

初始化单纯形表

取初始基本可行解 x 1 = x 2 = x 3 = 0 , x 4 = 48 , x 5 = 60 x_1 = x_2 = x_3 = 0, x_4 = 48, x_5 = 60 x1=x2=x3=0x4=48x5=60;它的基 [p4, p5]= ∣ 1 0 0 1 ∣ \begin{vmatrix} 1 & 0\\ 0 & 1 \end{vmatrix} 1001 为单位矩阵。
由标准形式可知
C = [ 6 , 14 , 13 , 0 , 0 ] T C=[6,14,13,0,0]^T C=[6,14,13,0,0]T, C B = [ 0 , 0 ] T C_B=[0,0]^T CB=[0,0]T,
A= ∣ 1 4 2 1 0 1 2 4 0 1 ∣ \begin{vmatrix} 1 & 4 & 2 & 1 & 0\\ 1 & 2 & 4 & 0 & 1 \end{vmatrix} 1142241001 = [ P 1 , P 2 , P 3 , P 4 , P 5 ] [P_1,P_2,P_3,P_4,P_5] [P1,P2,P3,P4,P5],
b = [ 48 , 60 ] T b=[48,60]^T b=[48,60]T
此时, − z = − 0 × 48 − 0 × 60 = 0 -z=-0\times48-0\times60=0 z=0×480×60=0
则初始的单纯形表为:

c 1 c_1 c1 c 2 c_2 c2 c 3 c_3 c3 c 4 c_4 c4 c 5 c_5 c5
C B C_B CB X B X_B XB b 6 14 13 0 0 θ \theta θ
0 x 4 x_4 x4 48 1 4 2 1 0 12
0 x 5 x_5 x5 60 1 2 4 0 1 30
-z:0 6 14 13 0 0

检验数

其中,最后一行为检验数:
σ i = c i − ∑ m k = 1 c k a k i \sigma_i=c_i-\displaystyle \sum{m \atop k=1}c_ka_{ki} σi=cik=1mckaki
σ 1 = 6 − 0 × 1 − 0 × 1 = 6 \sigma_1=6-0\times1-0\times1=6 σ1=60×10×1=6,
σ 2 = 14 − 0 × 4 − 0 × 2 = 14 \sigma_2=14-0\times4-0\times2=14 σ2=140×40×2=14,
σ 3 = 13 − 0 × 2 − 0 × 4 = 13 \sigma_3=13-0\times2-0\times4=13 σ3=130×20×4=13,
σ 4 = 0 − 0 × 1 − 0 × 0 = 0 \sigma_4=0-0\times1-0\times0=0 σ4=00×10×0=0
σ 5 = 0 − 0 × 0 − 0 × 1 = 0 \sigma_5=0-0\times0-0\times1=0 σ5=00×00×1=0
易知第一次单纯性表的检验数分别为对应系数 c i c_i ci

进基变量

取非负检验数中的最大值为进基变量(对于检验数这一行值,当检验数均为非正后,达到最优(一定是对Max问题),如果此时非基变量检验数有0值,则有无限多最优解;如果计算过程中出现检验数大于0的列对应的系数列向量中所有分量都有 a i k ≤ 0 a_{ik}\le0 aik0,则无有限最优解),在此题中,14为正数中的最大值,则 x 2 x_2 x2为进基变量。

离基变量

计算最后一列的 θ \theta θ值,设进基变量的下角标为k,即 x k x_k xk为进基变量, θ \theta θ = b i / a i k b_i/a_{ik} bi/aik,如果 a i k = 0 a_{ik}=0 aik=0,该 θ i \theta_i θi设为无穷大,选择最小的作为离基变量。
θ 1 = b 1 / a 12 = 48 / 4 = 12 \theta_1=b_1/a_{12}=48/4=12 θ1=b1/a12=48/4=12 θ 2 = b 2 / a 22 = 60 / 2 = 30 \theta_2=b_2/a_{22}=60/2=30 θ2=b2/a22=60/2=30
该题中的最小值为12,所以离基变量为 x 4 x_4 x4

初等行变换

继续计算单纯性表,将进基变量通过初等行变换为单位向量,即从 ∣ 4 2 ∣ \begin{vmatrix} 4\\ 2 \end{vmatrix} 42 变为 ∣ 1 0 ∣ \begin{vmatrix} 1\\ 0 \end{vmatrix} 10
为此,我们将第一行乘以1/4,在将第二行减去2倍的第一行,注意,加粗部分均需参与初等行变换。 C B C_B CB系数部分按照相应的进基变量、离基变量进行修改。

c 1 c_1 c1 c 2 c_2 c2 c 3 c_3 c3 c 4 c_4 c4 c 5 c_5 c5
C B C_B CB X B X_B XB b 6 14 13 0 0 θ \theta θ
0 x 2 x_2 x2 48 1 4 2 1 0 12
0 x 5 x_5 x5 60 1 2 4 0 1 30
-z:0 6 14 13 0 0
c 1 c_1 c1 c 2 c_2 c2 c 3 c_3 c3 c 4 c_4 c4 c 5 c_5 c5
C B C_B CB X B X_B XB b 6 14 13 0 0 θ \theta θ
14 x 2 x_2 x2 12 1/4 1 1/2 1/4 0 24
0 x 5 x_5 x5 36 1/2 0 3 -1/2 1 12
-z:-168 5/2 0 6 -7/2 0

对斜体部分进行计算得到 − z = − 14 × 12 − 0 × 36 = − 168 -z=-14\times12-0\times36=-168 z=14×120×36=168
计算检验数:
σ 1 = 6 − 14 × 1 / 4 − 0 × 1 / 2 = 6 − 14 / 4 = 5 / 2 \sigma_1=6-14\times1/4-0\times1/2=6-14/4=5/2 σ1=614×1/40×1/2=614/4=5/2,
σ 2 = 14 − 14 × 1 − 0 × 0 = 0 \sigma_2=14-14\times1-0\times0=0 σ2=1414×10×0=0,
σ 3 = 13 − 14 × 1 / 2 − 0 × 3 = 6 \sigma_3=13-14\times1/2-0\times3=6 σ3=1314×1/20×3=6,
σ 4 = 0 − 14 × 1 / 4 − 0 × ( − 1 / 2 ) = − 7 / 2 \sigma_4=0-14\times1/4-0\times(-1/2)=-7/2 σ4=014×1/40×1/2=7/2
σ 5 = 0 − 14 × 0 − 0 × 1 = 0 \sigma_5=0-14\times0-0\times1=0 σ5=014×00×1=0
基变量对应的检验数一定为0。
6最大, x 3 x_3 x3进基;
计算 θ i \theta_i θi
θ 1 = b 1 / a 12 = 12 / ( 1 / 2 ) = 24 \theta_1=b_1/a_{12}=12/(1/2)=24 θ1=b1/a12=12/1/2=24 θ 2 = b 2 / a 22 = 36 / 3 = 12 \theta_2=b_2/a_{22}=36/3=12 θ2=b2/a22=36/3=12
12最小, x 5 x_5 x5离基。
同理继续进行变换、计算:

c 1 c_1 c1 c 2 c_2 c2 c 3 c_3 c3 c 4 c_4 c4 c 5 c_5 c5
C B C_B CB X B X_B XB b 6 14 13 0 0 θ \theta θ
0 x 4 x_4 x4 48 1 4 2 1 0 12
0 x 5 x_5 x5 60 1 2 4 0 1 30
-z:0 6 14 13 0 0
c 1 c_1 c1 c 2 c_2 c2 c 3 c_3 c3 c 4 c_4 c4 c 5 c_5 c5
C B C_B CB X B X_B XB b 6 14 13 0 0 θ \theta θ
14 x 2 x_2 x2 12 1/4 1 1/2 1/4 0 24
0 x 5 x_5 x5 36 1/2 0 3 -1/2 1 12
-z:-168 5/2 0 6 -7/2 0
c 1 c_1 c1 c 2 c_2 c2 c 3 c_3 c3 c 4 c_4 c4 c 5 c_5 c5
C B C_B CB X B X_B XB b 6 14 13 0 0 θ \theta θ
14 x 2 x_2 x2 6 1/6 1 0 1/3 -1/6 36
13 x 3 x_3 x3 12 1/6 0 1 -1/6 1/3 72
-z:–240 3/2 0 0 -5/2 -2
c 1 c_1 c1 c 2 c_2 c2 c 3 c_3 c3 c 4 c_4 c4 c 5 c_5 c5
C B C_B CB X B X_B XB b 6 14 13 0 0 θ \theta θ
6 x 1 x_1 x1 36 1 6 0 2 -1
13 x 3 x_3 x3 6 0 -1 1 -1/2 1/2
-z:–294 0 -9 0 -11/2 -1/2

此时,检验数全为非正数,当前解即为最优解, x ∗ = [ 36 , 0 , 6 , 0 , 0 ] T x^*=[36,0,6,0,0]^T x=[36,0,6,0,0]T,最优解为 z = 294 z=294 z=294
值得注意的是、变量非负约束是单纯形表中所隐含的,任何时候b列的值都应是非负的,如果出现负值,则表示当前基本解不是可行解,求解也就无法进行。文章来源地址https://www.toymoban.com/news/detail-735351.html

到了这里,关于单纯形法步骤详解(附例题)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 单纯形法求解线性规划问题示例

    今天被一个人问到了一个线性规划问题,这个问题我印象中只有在数学建模中会出现,于是就研究了一下,这里做一个记录。 线性规划问题如下: max z = 90 x 1 + 70 x 2 s . t . { x 1 + x 2 ≤ 16 3 x 1 + 2 x 2 ≤ 36 5 x 2 ≤ 65 x 1 , x 2 ≥ 0 (1) text{max} quad z = 90x_1 + 70x_2 \\\\ begin{align} s.t.left

    2024年02月06日
    浏览(42)
  • 线性规划问题及单纯形法-线性规划变标准形

    线性规划模型的标准形式 (1)目标函数为求极大值 (2)所有功能约束条件(非负条件除外),都是等式 (3)右端常数项为非负 (4)决策变量为非负 标准形转换方法 (1)目标函数值的转换 即在原有目标函数值前面加一个符号,当求出结果后,结果乘以一个负号。 (2)

    2024年02月06日
    浏览(47)
  • 2023年MathorCup 高校数学建模挑战赛-A 题 量子计算机在信用评分卡组合优化中的应用-思路详解(模型代码答案)

    运筹优化类题目,不同于目标规划,该题限制了必须使用量子退火算法QUBO来进行建模与求解。本身题目并不难,但是该模型较生僻,给出的参考文献需要耗费大量时间去钻研。建议擅长运筹类题目且建模能力强的队伍选择。 问题 1 :在 100 个信用评分卡中找出 1 张及其对应阈

    2024年02月06日
    浏览(43)
  • 线性判别分析LDA计算例题详解

    线性判别分析 (Linear Discriminant Analysis, LDA) 的核心思想是:将给定训练集投影到特征空间的一个超平面上,并设法使同类样本投影点尽可能接近,异类样本投影点尽可能远离 由于做题时针对的是解题过程,因此原理相关方面省略,具体可参考👉从协方差的角度详解线性判别分

    2024年02月02日
    浏览(46)
  • 详解时间复杂度计算公式(附例题细致讲解过程)

    这几天开始刷力扣上面的 算法题 ,有些题目上面限制 时间复杂度 和 空间复杂度 ,题目虽然写出来了,但是很没底。印象里数据结构老师讲过一点,沉睡的记忆苏醒了。只记得一个时间复杂度是 O(n) ,空间复杂度是 S(n) 。for循环常常是O(n),具体是怎么算的不清楚。所以在看

    2024年02月03日
    浏览(38)
  • 【数学建模系列】TOPSIS法的算法步骤及实战应用——MATLAB实现

    客观评价方法中的一种,亦称为理想解法,是一种有效的多指标评价方法。这种方法通过构造评价问题的正理想解和负理想解,即各指标的最优解和最劣解,通过计算每个方案到理想方案的相对贴近度,即靠近止理想解和远离负理想解的程度,来对方案进行排序,从而选出最优

    2024年02月08日
    浏览(47)
  • 缩放算法优化步骤详解

    添加链接描述 假设数据存放在在unsigned char* m_pData 里面,宽和高分别是:m_nDataWidth m_nDataHeight 给定缩放比例:fXZoom fYZoom,返回缩放后的unsigned char* dataZoom 这里采用最简单的缩放算法即: 根据比例计算原图和缩放后图坐标的对应关系:缩放后图坐标*缩放比例 = 原图坐标 测试代

    2024年03月10日
    浏览(41)
  • 递归回溯两个例题:1.数组组合 2.在矩阵中搜索单词

    题目1:组合 给定两个整数 n 和 k ,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 输入:n = 4, k = 2 输出: [   [2,4],   [3,4],   [2,3],   [1,2],   [1,3],   [1,4], ]  解题思路: 1.定义一个temp数组,存放临时的组合结果 2.两种选择:1.选择当前元素2.不选

    2024年02月15日
    浏览(43)
  • 机器学习笔记之优化算法(十九)经典牛顿法的收敛性分析

    上一节整体介绍了 经典牛顿法 ,并讨论了其更新方向 P k mathcal P_k P k ​ 是否为 下降方向 。本节将对 经典牛顿法 在迭代过程中的收敛性 进行分析。 在这些迭代算法中,我们关注的重点在于 算法在迭代过程中 是否收敛 ,以及它的 收敛速度 。 Wolfe text{Wolfe} Wolfe 准则的收

    2024年02月11日
    浏览(44)
  • 提升应用性能的关键步骤——UniApp性能优化策略与技巧详解

    「作者主页」 :雪碧有白泡泡 「个人网站」 :雪碧的个人网站 chatgpt体验地址 描述:代码压缩和混淆是常用的性能优化手段。通过减小JavaScript、CSS和HTML文件的大小,可以降低加载时间和网络传输。 解释: 在构建UniApp应用时,确保开启代码压缩和混淆选项。 使用工具(如

    2024年02月03日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包