两阶段法(基本原理+例题解析)

基本思想:构造一个辅助线性规划问题(ALP),通过求解它得到线性规则(LP)的初始可行基。

目录

基本概念:

例题分析:


基本概念:

对于标准形式的线性规则问题:

\left\{\begin{matrix} minf(x)=c^{T}x\\s.t.Ax=b \\ x\geq 0 \end{matrix}\right.

其中 b\geq 0,A 是 m\times n 矩阵,m< n,但 A 不一定满秩。

ALP\left\{\begin{matrix} minz=y_{1}+y_{2}+...+y_{m}\\ s.t.f-c_{1}x_{1}-c_{2}x_{2}-...-c_{n}x_{n}=0(*) \\ y_{1}+a_{11}x_{1}+a_{12}x_{2}+...+a_{1n}x_{n}=b_{1} \\ y_{2}+a_{21}x_{1}+a_{22}x_{2}+...+a_{2n}x_{n}=b_{1} \\ ... \\ y_{m}+a_{m1}x_{1}+a_{12}x_{2}+...+a_{mn}x_{n}=b_{1} \\y_{1},y_{2},...,y_{m},x_{1},x_{2},...,x_{n}>0 \end{matrix}\right.

其中,y_{1},y_{2},...,y_{m} 是人工变量

注意:(*)行只参与消元运算,不参与主元的确定。引入这一行的目的在于直接算出原问题的最优解和最优值。


例题分析:

例题:求解线性规则:

\left\{\begin{matrix} minf(x)=4x_{1}+3x_{3}\\s.t.3x_{1}+6x_{2}+3x_{3}-4x_{4}=12\\6x_{1}+3x_{3}=12\\3x_{1}-6x_{2}+4x_{4}=0\\ x_{1},x_{2},x_{3},x_{4}\geq 0 \end{matrix}\right.

解:构造辅助线性规划(ALP)

\left\{\begin{matrix} minz=y_{1}+y_{2}+y_{3}\\s.t.f-4x_{1}-3x_{3}=0\\y_{1}+3x_{1}+6x_{2}+3x_{3}-4x_{4}=12\\y_{2}+6x_{1}+3x_{3}=12\\y_{3}+3x_{1}-6x_{2}+4x_{4}=0\\ x_{1},x_{2},x_{3},x_{4},y_{1},y_{2},y_{3} \geq 0 \end{matrix}\right.

可以得到下列矩阵:

A=\left [ \begin{smallmatrix} 1 &0 &0 &3 &6 &3 &-4 \\0 &1 &0 &6 &0 &3 &0 \\0 &0 & 1 &3 &-6 &0 & 4 \end{smallmatrix} \right ]b=\bigl(\begin{smallmatrix} 12\\ 12 \\0 \end{smallmatrix}\bigr)c=(1,1,1,0,0,0,0)^{T}

ALP选取 y_{1},y_{2},y_{3} 作为基的单纯形表如下: 

sy_{1}y_{2}y_{3}x_{1}x_{2}x_{3}x_{4}
z24000012060
f01000-40-30
y_{1}120100363-4
y_{2}1200106030
y_{3}000013-604

(*)对于目标函数 Z 来说:c_{B}^{T}B^{-1}A-c^{T}=(1,1,1) I A-(1,1,1,0,0,0,0)=(0,0,0,12,0,6,0)

(**)对于目标函数 Z 来说:c_{B}^{T}B^{-1}A-c^{T}=(0,0,0) I A-(0,0,0,4,0,3,0)=(0,0,0,-4,0,-3,0)

检验数有正数,此时并不是最优解,需要寻找离基变量和进基变量。

Min\left \{ \frac{12}{3},\frac{12}{6},\frac{0}{3} \right \}=0

离基变量:y_{3} ,进基变量: x_{1},得到主元,由主元做旋转变换,得到新的单纯形表:

检验数有正数,此时并不是最优解,需要寻找离基变量和进基变量。

Min\left \{ \frac{12}{12},\frac{12}{12} \right \}=1

离基变量:y_{1} ,进基变量: x_{2},得到主元,由主元做旋转变换,得到新的单纯形表:

检验数全部为正,Z=0,说明当前解为 ALP 最优解,将多余的划掉,得到 LP 的单纯形表:

x_{1}x_{2}x_{3}x_{4}
f800-10
x_{2}1011/4-2/3
x_{1}2101/20

由于检验数全部非正,所以得到 LP 的最优解:\bar{x}=(2,1,0,0)^{T},最优值为:f(\bar{x})=8

(行文中若有纰漏,希望大家指正)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

背对人潮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值