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

基本思想:构造一个辅助线性规划问题(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

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
好的,以下是一个混合图像基本原理例题解答: 假设有一张山水照片和一张人像照片,现在需要将这张照片进行混合,使得人像清晰可见,同时山水的细节也能够保留下来。其中,人像照片的权重为0.7,山水照片的权重为0.3。 解答: 根据混合图像的基本原理,可以使用以下公式来计算每个像素点的新灰度值: I = α * F + (1-α) * B 其中,I表示新图像的灰度值,F表示前景图像的灰度值,B表示背景图像的灰度值,α表示前景图像的权重。 根据题目要求,可以将人像照片作为前景图像,山水照片作为背景图像,将人像照片的权重设置为0.7,山水照片的权重设置为0.3。然后,对于每个像素点,可以按照上述公式计算出新的灰度值。 具体来说,可以使用Python中的OpenCV库来实现混合图像的操作。代码如下: ``` import cv2 # 读取人像照片和山水照片 img1 = cv2.imread('portrait.jpg') img2 = cv2.imread('landscape.jpg') # 调整人像照片的尺寸,使其与山水照片大小相同 img1 = cv2.resize(img1, (img2.shape[1], img2.shape[0])) # 将人像照片作为前景图像,山水照片作为背景图像,设置权重 alpha = 0.7 beta = 0.3 # 按照公式计算新的灰度值 new_img = cv2.addWeighted(img1, alpha, img2, beta, 0) # 显示混合后的图像 cv2.imshow('Blended Image', new_img) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在代码中,首先使用cv2.imread()函数读取人像照片和山水照片,并使用cv2.resize()函数将人像照片的尺寸调整为与山水照片相同。然后,使用cv2.addWeighted()函数按照公式计算新的灰度值,并将结果保存到new_img变量中。最后,使用cv2.imshow()函数显示混合后的图像。 通过运行上述代码,就可以得到混合后的图像,其中人像清晰可见,同时山水的细节也能够保留下来。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

背对人潮

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

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

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

打赏作者

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

抵扣说明:

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

余额充值