最优化——单纯形法,单纯形表的求取

最优化——单纯形法,单纯形表的求取最优化 单纯形法一般性线性规划标准型为对象总结其基本步骤 max z nbsp s t nbsp P1x1 P2x2 Pnxn b 1 c1x1 c2x2 cnxn z 2 xj 0 1 j n begin array ll max amp z text s t amp P 1 x 1 P 2 x 2 cdots P n x n vec b 1 amp c 1 x 1 c 2 x 2

最优化——单纯形法

步骤一:求广义基本可行解

已知一个可逆方阵 B = ( P j ( 1 ) , P j ( 2 ) , ⋯   , P j ( m ) ) B=\left(P_{j(1)}, P_{j(2)}, \cdots, P_{j(m)}\right) B=(Pj(1),Pj(2),,Pj(m)) 满足
B − 1 b ⃗ ≥ 0 B^{-1} \vec{b} \geq 0 B1b
0

其中 1 ≤ j ( i ) ≤ n , ∀ 1 ≤ i ≤ m , 1 \leq j(i) \leq n, \forall 1 \leq i \leq m, 1j(i)n,1im, B B B 是线性规划标准型 的可行基阵

B B B可以把线性约束(1) P 1 x 1 + P 2 x 2 + ⋯ + P n x n = b ⃗ P_{1} x_{1}+P_{2} x_{2}+\cdots+P_{n} x_{n}=\vec{b} P1x1+P2x2++Pnxn=b
改写为
⇔ ( P j ( 1 ) , ⋯   , P j ( m ) ) ( x j ( 1 ) ⋮ x j ( m ) ) + P j ( m + 1 ) x j ( m + 1 ) + ⋯ + P j ( n ) x j ( n ) = b ⃗ ⇔ ( x j ( 1 ) ⋮ x j ( m ) ) + ( B − 1 P j ( m + 1 ) ) x j ( m + 1 ) + ⋯ + ( B − 1 P j ( n ) ) x j ( n ) = B − 1 b ⃗ \begin{array}{l} \Leftrightarrow\left(P_{j(1)}, \cdots, P_{j(m)}\right)\left(\begin{array}{c} x_{j(1)} \\ \vdots \\ x_{j(m)} \end{array}\right)+P_{j(m+1)} x_{j(m+1)}+\cdots+P_{j(n)} x_{j(n)}=\vec{b} \\ \Leftrightarrow \quad\left(\begin{array}{c} x_{j(1)} \\ \vdots \\ x_{j(m)} \end{array}\right)+\left(B^{-1} P_{j(m+1)}\right) x_{j(m+1)}+\cdots+\left(B^{-1} P_{j(n)}\right) x_{j(n)}=B^{-1} \vec{b} \end{array} (Pj(1),,Pj(m))xj(1)xj(m)+Pj(m+1)xj(m+1)++Pj(n)xj(n)=b
xj(1)xj(m)+(B1Pj(m+1))xj(m+1)++(B1Pj(n))xj(n)=B1b

可以得到一个基本可行解 X = ( x 1 . . . x n ) T X=(x_1…x_n)^T X=(x1...xn)T的表达式:

X B = ( x j ( 1 ) ⋮ x j ( m ) ) , ( x j ( m + 1 ) . . . x j ( n ) ) = 0 X_{B}=\left(\begin{array}{c}x_{j(1)} \\ \vdots \\ x_{j(m)}\end{array}\right),(x_{j(m+1)}…x_{j(n)})=0 XB=xj(1)xj(m),(xj(m+1)...xj(n))=0

步骤二:求检验数

C B = ( c j ( 1 ) , ⋯   , c j ( m ) ) T , C_{B}=\left(c_{j(1)}, \cdots, c_{j(m)}\right)^{T}, CB=(cj(1),,cj(m))T,

C B C_{B} CB左乘(3) 得 C B T X B + C B T P ^ j ( m + 1 ) x j ( m + 1 ) + ⋯ + C B T P ^ j ( n ) x j ( n ) = C B T P ^ n + 1 − − − ( 4 ) C_{B}^{T} X_{B}+C_{B}^{T} \hat{P}_{j(m+1)} x_{j(m+1)}+\cdots+C_{B}^{T} \hat{P}_{j(n)} x_{j(n)}=C_{B}^{T} \hat{P}_{n+1}—(4) CBTXB+CBTP^j(m+1)xj(m+1)++CBTP^j(n)xj(n)=CBTP^n+1(4)

目标函数(2)用 C B C_{B} CB可以写成: C B T X B + c j ( m + 1 ) x j ( m + 1 ) + ⋯ + c j ( n ) x j ( n ) = z − − − ( 5 ) C_{B}^{T} X_{B}+c_{j(m+1)} x_{j(m+1)}+\cdots+c_{j(n)} x_{j(n)}=z—(5) CBTXB+cj(m+1)xj(m+1)++cj(n)xj(n)=z(5)

步骤三:得到单纯形表

在这里插入图片描述

其中 ( P ^ j ( 1 ) , ⋯   , P ^ j ( m ) ) = I m , z ^ = C B T P ^ n + 1 = C B T B − 1 b ⃗ \left(\hat{P}_{j(1)}, \cdots, \hat{P}_{j(m)}\right)=I_{m}, \hat{z}=C_{B}^{T} \hat{P}_{n+1}=C_{B}^{T} B^{-1} \vec{b} (P^j(1),,P^j(m))=Im,z^=CBTP^n+1=CBTB1b

σ j = c j − C B T P ^ j = c j − C B T B − 1 P j , ∀ 1 ≤ j ≤ n \sigma_{j}=c_{j}-C_{B}^{T} \hat{P}_{j}=c_{j}-C_{B}^{T} B^{-1} P_{j}, \quad \forall 1 \leq j \leq n σj=cjCBTP^j=cjCBTB1Pj,1jn

σ 1 , ⋯   , σ n \sigma_{1}, \cdots, \sigma_{n} σ1,,σn 为检验数,可看出基变量检验数等于0

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232442.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【转载】读懂IL代码就这么简单(二)

    【转载】读懂IL代码就这么简单(二)

    2021年11月20日
    52
  • 主流大数据平台及解决方案对比「建议收藏」

    主流大数据平台及解决方案对比「建议收藏」这几天自己根据网上的资料学习整理的,比较粗浅,权当个人学习总结

    2022年5月5日
    48
  • cad快速选择命令快捷键_CAD快捷键,命令大全

    cad快速选择命令快捷键_CAD快捷键,命令大全一 常用 CTRL ALT 快捷键 ALT TK 如快速选择 ALT NL 线性标注 ALT VV4 快速创建四个窗口 ALT MUP 提取轮廓 Ctrl B 栅格捕捉模式控制 F9 Ctrl C 将选择的对象复制到剪切板上 Ctrl F 控制是否实现对象自动捕捉 F3 Ctrl G 栅格显示模式控制 F7 Ctrl J 重复执行上一步命令 Ctrl K 超级链接 Ctrl N 新建图形文件 C

    2025年9月6日
    11
  • BackTrack3(BT3激活成功教程wifi密码)

    BackTrack3(BT3激活成功教程wifi密码)BackTrack3(BT3激活成功教程)  准备工作  1、一个有可激活成功教程无线信号的环境。如我在家随便搜索出来的信号。  2、带无线网卡的电脑一台(笔记本台式机均可,只要无线网卡兼容BT3),我用的是三星NC10的上网本。  3、4G以上优盘一个(我用的是kingston8G的)  4、下载BT3,约900多兆。注:BT3全称BackTrack3,与我们常说的bt下载是完全不同的…

    2022年10月1日
    2
  • css3动画特效_css3动画效果大全

    css3动画特效_css3动画效果大全CSS3为我们带来了令人惊叹的新特性,而最有趣的就是CSS动画。今天彬Go向大家推荐这50个CSS动画集合可以让你通过使用JavaScript函数来让动画更生动。为了能够预览到这些惊人的CSS3技术带

    2022年8月2日
    7
  • c语言中的offset_c语言中/和%的区别

    c语言中的offset_c语言中/和%的区别今天看libPhenom源代码,看到他们使用的JSON解析库参考的是JanssonJSON解析库。于是就去网上查了这个库,找到了官方网站:http://www.digip.org/jansson/。找了一下发现在Github上能够下载源代码,于是下载了源代码来瞅瞅。    看了一会儿发现有一块代码一直看不明白,就比如说如下的代码:json_t*json_object(void)

    2022年8月22日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号