页数:45页文件大小:306.8 KB来源: 运筹学ppt课件
本课件由生产计划与污水处理两个实际问题引入线性规划模型,讲解决策变量、目标函数与约束条件三要素,依次展开图解法、标准型化法与线性规划解的几何意义,并完整演示单纯形法的建表、判别、基变换与迭代过程,最后讨论人工变量法与退化情形的处理。
[eg.1] 生产计划问题:产品Ⅰ、Ⅱ各生产多少件,可使利润最大?设产品Ⅰ生产 x1 件、产品Ⅱ生产 x2 件。
| 项目 | 产品Ⅰ | 产品Ⅱ | 限制 |
|---|---|---|---|
| 设备(台时) | 1 | 2 | 8 |
| 材料A(kg) | 4 | 0 | 16 |
| 材料B(kg) | 0 | 4 | 12 |
| 利润(元/件) | 2 | 3 | — |
目标函数:max z = 2x1 + 3x2
约束条件:x1 + 2x2 ≤ 8,4x1 ≤ 16,4x2 ≤ 12,x1、x2 ≥ 0。其中 z 为利润函数,max z 表示求 z 的最大值。
[eg.2] 污水处理问题:环保要求河水含污低于 2‰,河水可自身净化 20%。问化工厂 1、2 每天各处理多少污水,使总费用最少?
| 化工厂 | 每天污水量(万m3) | 处理费用(元/万m3) | 所在河段流量(万m3) |
|---|---|---|---|
| 化工厂1 | 2 | 1000 | 500 |
| 化工厂2 | 1.4 | 800 | 200 |
设化工厂1处理污水 x1 万m3、化工厂2处理污水 x2 万m3。
目标函数:min z = 1000x1 + 800x2
这里 min z 表示求 z 的最小值。
线性规划的数学模型(一般形式):
max(min) z = c1x1 + c2x2 + … + cnxn
其中 cj 为价值系数,bi 为资源,aij 为技术系数(i = 1,…,m;j = 1,…,n)。
1.2 图解法 [eg.3] 用图解法求 eg.1:max z = 2x1 + 3x2。
解:
首先取 z = 0,然后使 z 逐渐增大,直至找到最优解所对应的点。可见在 Q2 点 z 取到最大值,Q2 点坐标为 (4,2),即 x1 = 4、x2 = 2。
讨论:
(3)无界解 [eg.5] max z = 2x1 + 3x2,约束 4x1 ≤ 16,x1、x2 ≥ 0,则 x2 → ∞,z → ∞,即存在无界解。在实际问题中,可能是缺少约束条件。
(4)无可行解 [eg.6] max z = 2x1 + 3x2,约束 2x1 + 4x2 ≥ 8,x1 + x2 ≤ 1,x1、x2 ≥ 0。两约束无公共部分,无可行域,即无可行解。在实际问题中,可能是关系错。
1.3 线性规划的标准型 1、标准型:
max z = c1x1 + c2x2 + … + cnxn
线性规划标准型可用向量表示:约束条件写为 Σ xj pj = b,其中 pj 为决策变量 xj 对应的系数列向量,b 为资源向量。
本页以公式与矩阵图示为主,源文件文字提取较少,建议对照原课件图片核对向量符号。
用矩阵描述为:max z = CX,AX = b,X ≥ 0。
2、标准型的化法
[eg.7] 将下述问题化为标准型:
min z = −x1 + 2x2 − 3x3
解:令 x3 = x3′ − x3″(x3′、x3″ ≥ 0);①式加上一个松弛变量 x4;②式减去一个剩余变量 x5;令 z′ = −z。
1.4 线性规划解的概念 设线性规划为 max z = CX ①,AX = b ②,X ≥ 0 ③,A 为 m×n 矩阵,n > m,RankA = m(A 为行满秩矩阵)。
4、基解:取 B = (p1, p2, …, pm),将约束方程组按基变量与非基变量分块写成矩阵形式,令 xm+1 = … = xn = 0(非基变量为 0),则 BXB = b,由此求得基变量取值。
本页以分块矩阵图示为主,源文件文字提取有限,建议对照原课件图片核对矩阵元素下标。
各点坐标:O(0,0)、Q1(4,0)、Q2(4,2)、Q3(2,3)、Q4(0,3)、Q5(4,3)。解的集合关系:基解分为基可行解与非可行解,可行解分为基可行解与非可行解。
§2 线性规划问题的几何意义 2.1 基本概念
图中给出凸集与非凸集的对比:非凸集内两点的连线会部分落在集合之外,凸集则不会。
2.2 基本定理
证明:设 X(1) = (x1(1), x2(1), …, xn(1))T ∈ D,X(2) = (x1(2), x2(2), …, xn(2))T ∈ D,且 X(1) ≠ X(2),有 AX(1) = b,AX(2) = b。令 X = αX(1) + (1 − α)X(2)(0 < α < 1),则 AX = αAX(1) + (1 − α)AX(2) = αb + (1 − α)b = b;又因 α > 0、1 − α > 0,故 X ≥ 0,即 D 为凸集。
§3 单纯形法 基本思路:从可行域的一个顶点到另一个顶点迭代求最优解。
3.1 初始基可行解的确定 1、松弛基(松弛变量对应的 B)。
[eg.8] max z = x1 + 3x2,约束 x1 + 2x2 ≤ 3,2x1 + 3x2 ≤ 4,x1、x2 ≥ 0。
化标准型:max z = x1 + 3x2 + 0x3 + 0x4,x1 + 2x2 + x3 = 3,2x1 + 3x2 + x4 = 4,x1、x2、x3、x4 ≥ 0。取 x3、x4 为基变量,令非基变量 x1 = x2 = 0,得初始基可行解 X(0) = (0 0 3 4)T。
2、观察法 [eg.9] max z = x1 + 3x2 + 2x3 + x4,约束 x1 + 2x2 + 3x3 = 3,3x2 + x3 + x4 = 4,x1、x2、x3、x4 ≥ 0。
选 XB = (x1 x4)T,令 x2 = x3 = 0,则初始基可行解 X(0) = (3 0 0 4)T。
3、人工基 [eg.10] max z = x1 + 2x2 + 3x3,约束 x1 + 3x2 + 2x3 = 3,2x1 + x2 + x3 = 4,x1、x2、x3 ≥ 0。
分析:A = [1 3 2; 2 1 1],因找不到单位矩阵基,故引入人工变量作为初始基变量(2 个)。
3.2 最优性的检验与解的判别。本页为小节标题页,检验数的计算公式与解的三条判别准则见后续页图示。
本页为公式推导的承接页,源文件仅提取到「则」等少量文字。内容为检验数 σj 判别式的推导过渡,建议对照原课件图片核对公式。
解的判别:
3.3 基变换。本页为小节标题页,入基变量与出基变量的确定规则见相邻页的图示与算例。
3.4 旋转运算(消元运算):以主元 alk′ 为中心,把入基变量对应的系数列向量 Pk′ 消元化为单位列向量(除主元位置外,其余元素均化为 0)。
由此得到新的基可行解,重复 3.2—3.4,直至求出最优解。
3.5 单纯形表 展开如下:
建立单纯形表的表头:依次列出 cB(基变量价值系数)、xB(基变量)、b(右端常数)、θ(最小比值)以及 x1…xn、xn+1…xn+m 各变量列,最下方为检验数行 σj 与 −z 列(Z0)。
[eg.11] 用单纯形法求解:max z = x1 + 3x2,约束 x1 + 2x2 ≤ 8,4x1 ≤ 16,4x2 ≤ 12,x1、x2 ≥ 0。
解:① 标准化,建立单纯形表。引入松弛变量 x3、x4、x5 为初始基变量:
表中 cB 列均为 0,基变量取值为 x3 = 8、x4 = 16、x5 = 12。此时的解:X(0) = (0 0 8 16 12)T,z(0) = 0。
② 解的判别:因 σ1 = 1、σ2 = 3 > 0,故 X(0) 非最优解。
③ 基变换:max{σ1, σ2} = 3 = σ2,故 x2 入基;min{8/2, --, 12/4} = 12/4,故 x5 出基。表中对应 θ 值:x3 行为 8/2,x4 行为「--」,x5 行为 12/4。
迭代过程:第一次迭代后 X(1) = (0 3 2 16 0)T,z(1) = 9,X(1) 非最优;继续令 x1 入基、x3 出基(θ 值分别为 2/1 与 16/4)。
此时的解:X(2) = (2 3 0 8 0)T,z(2) = 11,X(2) 为最优解。
单纯形法迭代的每一步,对应可行域上的一个顶点:
| 迭代 | 基可行解 | 对应顶点 |
|---|---|---|
| X(0) | (0 0 8 16 12)T | O (0,0) |
| X(1) | (0 3 2 16 0)T | Q4 (0,3) |
| X(2) | (2 3 0 8 0)T | Q3 (2,3) |
§4 单纯形法的进一步讨论 4.1 人工变量法 1、大M法(M 为很大的正数)。
法则:对于 max 问题,人工变量在目标函数中的价值系数为 −M;对于 min 问题,人工变量在目标函数中的价值系数为 M。
[eg.12] min z = x1 + 5x2 + 0x3 + 0x4,约束 2x1 + 3x2 + x3 = 6,2x1 + x2 − x4 = 1,x1、x2、x3、x4 ≥ 0。
解:化为 min z = x1 + 5x2 + 0x3 + 0x4 + Mx5(x5 为人工变量),约束 2x1 + 3x2 + x3 = 6,2x1 + x2 − x4 + x5 = 1,变量均非负,列单纯形表求解。
对 min z = x1 + 5x2 + 0x3 + 0x4 + Mx5,约束 2x1 + 3x2 + x3 = 6、2x1 + x2 − x4 + x5 = 1,建立初始单纯形表。
对于 min 问题,若 min{σj < 0} = σk,则 xk 为入基变量。这里 x1 为入基变量,x5 为出基变量,a21 = 2 为主元。表中 θ 值:x3 行 6/2,x5 行 1/2;检验数行含 5 − M 与 1 − 2M。
本页单纯形表在源文件中数字粘连严重,无法安全切分为标准单元格,已按文字表述保留,建议对照原课件图片人工还原表格。
进一步迭代:x1 换入基后,基变量为 x3 与 x1,表中相应行的系数为 1/2、−1/2 等,检验数行更新为 M + 1/2、1/2、0、9/2、0。
本页单纯形表在源文件中数字粘连严重,无法安全切分为标准单元格,已按文字表述保留,建议对照原课件图片人工还原表格。
因为所有 σj ≥ 0,于是得问题的最优解:
2、两阶段法:由于大 M 不是一个确定的数,大M法适宜于手工计算而不适合编程求解,为此引入两阶段法。
第一阶段:给线性规划加入人工变量,并构造辅助规划,辅助规划的目标函数为 min w = xn+1 + …… + xn+m(xn+1,…,xn+m 为人工变量)。
以人工变量为初始基变量,列表计算。
第二阶段:在第一阶段最优表中,去掉人工变量,换上原问题目标函数,作为本阶段初始表,以此用单纯形法进行迭代运算,求出结果。
例13 用两阶段法求解:min z = x1 + 5x2,约束 2x1 + 3x2 ≤ 6,2x1 + x2 ≥ 1,x1、x2 ≥ 0。
解:第一阶段:将问题化为等式约束,引进人工变量 x5,得辅助规划:
原问题目标函数记为 min z = x1 + 5x2 + 0x3 + 0x4。
对 min w = x5,约束 2x1 + 3x2 + x3 = 6、2x1 + x2 − x4 + x5 = 1,列表计算:初始基为 x3、x5,θ 值 6/2 与 1/2,主元为 [2];迭代后基变量为 x3 与 x1,检验数行为 1、0、0、0。
第一阶段有最优解。
本页单纯形表在源文件中数字粘连严重,无法安全切分为标准单元格,已按文字表述保留,建议对照原课件图片人工还原表格。
第二阶段:去掉人工变量,换上原线性规划目标函数(见下表)。
表中基变量为 x3 与 x1,取值分别为 5 与 1/2,检验数行为 0、9/2、0。
本页单纯形表在源文件中数字粘连严重,无法安全切分为标准单元格,已按文字表述保留,建议对照原课件图片人工还原表格。
4.2 几个问题 若存在两个以上相同的最小比值,就会出现退化解。理论上讲,退化解可能使计算出现循环,从而得不到最优解。然而,实际问题中很少出现这种情况。
当计算中出现最小比值相同的情况时,可按 Bland 规则来计算。
Bland 规则:
注:min 问题中 σj 与 θi 的计算同 max 问题。
习题 P45,1.4 分别用图解法和单纯形法求解下列线性规划,并指出单纯形法迭代的每一步相当于图形上的哪一个顶点?
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}