广义单纯形算法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CB ci - Δi
AB XB + a i x i + b′ =0
当 x i = x i 时 ( P) 问题的指标值为 W 1 ,根据
T T ( 14) 式 , W 1 = C B XB + ci x i = b λ +Δi x i
其中 , b′ = A D XD + b 这样 ( P) 问题的一般形式 , 化成 ( P) 问题的 简单形式 , A 阵由 AB 阵和一单列 a i 组成 .
T λ + CB = 0 设 : AB
( 3)
T - 1
如果 AB 存在逆阵 ,则 λ = - ( A B ) CB 设 : 第 i 列所对应的误差为 : T T - 1 Δi = a T CB + ci iλ + c i = - a i ( A B ) 则 aT iλ + ( c i - Δi ) = 0 称Δi 为检验数 .
第 18 卷 第1期 沈阳化工学院学报 2004. 3 J OU RNAL OF SHEN YAN G INSTITU TE OF CHEM ICAL TECHNOLO GY 文章编号 : 1004 - 4639 ( 2004) 01 - 0027 - 03
Vol. 18 No. 1 Mar. 2004
T T )T C X= (b λ
( 10) ( 11)
因为 C X 和 b λ 都是标量 ,所以 T T C X= b X
T
T
作者简介 : 尚毅 (1942 - ) ,男 ,陕西延安人 ,教授 ,硕士 ,主要从事大系统建模 、 优化线性规划算法及程序设计的研究 .
28
沈 阳 化 工 学 院 学 报 2004 年
Δ x i > 0 ) , ( P) 问 x i = x i +Δ x i (Δ x i 是 x i 的增量 , 题指标值将增大ΔiΔ x i . 证明 : 因为 X 是扩展可行解 , A X + b = 0
( AB , a i ) ( 4) 式 根据 ( 3) 、
AB aT i
T
Δxi < 知 W 2 比 W 1 增大了 ΔΔ x i . 因为 Δi < 0 , i 0 ,所以 ΔΔ x i > 0. i 以上证明条件是在 A 阵是由 AB 阵和一单 列 a i 组成 ,如果 A 阵由 AB 阵和系列向量组成 , 可将 A 阵分块 : A = ( AB , A D , a i )
( 19)
对应的列号为 i . 7. 检查 Δmax 是否小于规定的精度误差 ε, ε,结束计算 ,否则向下执行 . 如果 Δmax Φ 8. 设矩阵 A′ 分 块 A′ = ( A′ B , A′ D , ai ) ,
A′ 阵中除去 A′ D 为 A′ B 和 a i 的部分 . b′ = A′ D XD + b
X′ B x i +Δ x i CB ci - Δi
T
合 B.
=0 ( 17)
- 1 3. 使基矩阵对角化 , 设 A′ = AB A , A′ B =
ai
T
λ+
A B AB = IB .
- 1
根据定理 1
b Tλ = CB ci - Δi
T
λ + CB = 0 , IBλ + CB = 4. 求误差Δi . 设 A′ B
3 新算法对线性规划例题计算结果
迭代 次数
112 238 429 741 1 000
表1 新算法对线性规划例题计算结果
行数
m
列数
n
非零元 个数
5 000 20 000 45 000 80 000 125 000
初始扩展可行 解非零元数
100 200 300 400 500
标准最优值
- 8. 478 974 - 13. 827 884 - 26. 208 465 - 33. 160 452 - 28. 408 139
第 1 期 尚 毅 ,等 : 广义单纯形算法
29
设列向量 a i = { a ij } ( j = 1 , 2 , …, m ) b′ = { bj } ( j = 1 , 2 , …, m ) 9. 当Δmax > 0 时 , 如果 a i 列某几个元素与 对角阵 A′ B 对应的几个元素同号 , 令 x i = x i + Δxi Δ , x i > 0 ,Δ x i 变大 , 在保证 A′ X+ b=0的 条件下 ,基内变量 XB 某个元素首先变成零 , 该 列出基 , a i 列进基 ,根据定理 3 ,指标增大 Δmax Δx i .
收稿日期 : 2003 - 06 - 10
定理 1 : 如果 A 为 m × n 阶矩阵 , 并且 T A X + b = 0 , A λ + c = 0 ,那么可证明 ( 5) C T X = b Tλ 证明 : ( 6) 如果 A X + b = 0 ,则 b = - A X T T ( 7) 如果 A λ + C = 0 ,则 C = - A λ T T T T ( λ ) λ ( 8) C X= - A X= AX T T T T ( 9) b λ = ( - A X) λ = - X A λ ( 9) 式 根据 ( 8) 、
( 15)
当 x i 增大到 x i +Δ x i , 为了保证 A X + b =
0 ,令 XB = X′ B ,则 ( AB , a i ) ( 4) 式 根据 ( 3) 、
T AB
2 算法程序
+ b=0 ( 16) 1. 寻找一个扩展可行解 X ,使 A X + b = 0. 2. 根据 X 中不为零的元素 , 确定一个基集
T = CB X′ B + ( c i - Δi ) ( x i +Δ x i )
= C B X′ B + c i ( x i +Δ x i ) - Δi ( x i +Δ x i )
Δj ‖ 6. 求Δmax = max{ ‖ } , j ∈H . 设Δmax所
j
根据 ( 18) 式
T T C B X′ B + ci ( x i +Δ x i ) = b λ +Δi x i +ΔΔ i xi
( 20)
XB xi CB
+ b=0
( 12)
λ+
ci - Δi
T
=0
( 13)
根据 ( 20) 式 ,有
A X + b = AB XB + A D XD + a i x i + b
根据定理 1
T b λ=
所以 , A X + b = 0 可写为 :
XB xi
T = CB XB + (c i - Δi ) x i (14)
T
ΔiΔ x i .
( 19 ) 式 , 当 x i = 证明 : 同定理 3 , 根据 ( 15 ) 、
T x i 时 , 问题 ( P ) 的指标值为 W 1 , W 1 = b λ +
Δi x i ; 当 x i = x i + Δ x i 时 , 问 题 ( P ) 的 指 标 为
W 2 , W 2 = b Tλ +Δi x i +ΔΔ x i . 比较 W 1 、 W 2 ,可 i
计算最优值
- 8. 478 974 - 13. 827 884 - 26. 208 465 - 33. 160 452 - 28. 408 139
迭代 时间/ s
1. 43 5. 88 16. 09 42. 68 83. 70
50 100 150 200 250
100 200 300 400 500
第二次世界大战后期 ,美国斯坦福大学丹捷 格教授发明了单纯形法 [ 1 ] ,50 年来经过各国学 者深入研究 , 该方法在理论上已经相当成熟 , 并 且普遍应用到工业 、 农业 、 商业 、 科学研究 、 政府 管理 、 军事指挥等人类生产和军事活动的各个领 域 ,成为运筹学和现代管理科学的基础 . 但是单 纯形法在理论上要求可行解的非零元个数与约 束矩阵的方程个数相一致 , 这限制了它的应用 . 本文提出的广义单纯形算法 ,对可行解的非零元 个数没有限制 ,在理论上使丹捷格发明的单纯形 法更 加 完 整 , 同 时 扩 大 了 单 纯 形 法 的 应 用 范 围 [ 2 ,3 ] ,对单纯形法的理论研究和实际应用有重 大意义 .
10. 当Δmax < 0 时 ,如果 a i 列某几个元素与
例题 名称
Mod Nes How So Tyh
对角阵 A′ B 对应的几个元素反号 , 令 x i = x i Δxi Δ , x i > 0 ,Δ x i 变大 , 在保证 A′ X+ b=0的 条件下 ,基内变量 XB 某个元素首先变成零 , 该 列出基 , a i 列进基 . 如果 Δ x i = x i 时没有出基的 Δxi. 列 ,则 x i = 0 ,根据定理 4 ,指标增大Δmax 11. 将新进基的一列消元 , 形成新, 张国光 , 刘 冬
( 沈阳化工学院 , 辽宁 沈阳 110142)
摘 要: 提出了一个新算法 ,取名为广义单纯形算法 ,它可被看作是单纯形法的扩展算法 . 新算 法可行解定义范围增大 ,求解过程检验数不局限为一种符号 . 阐述了新算法机理并发表了新方法 计算线性规划例题结果 . 关键词 : 线性规划 ; 单纯形法 ; 优化方法 中图分类号 : O 221 文献标识码 : A
T λ + CB = 0 , x i Ε 题的一个扩展可行解 , 并且 A B Δi < 0 ,在保证 A X + b = 0 的条件下减少 x i , 0,
定理 2 : 在上述条件下 , 如果 X 是 ( P) 问 T λ + CB = 0 , x i = 0 ,Δi Φ 题扩展可行解 ,同时 A B
( 4)
1 定理证明
线性规划问题的一般形式 :
( P) max C T X st . A X + b = 0 ,
X Ε 0 , X ∈R
T n T
( 1) ( 2)
( D) min b λ st . A λ + c Φ0 ,
λ ∈R m
定义 1 : 如果 X 满足方程 A X + b = 0 , X n Ε 0 , X ∈ R , 称 X 是 ( P) 问题的一个扩展可行 解 . 注意 ,扩展可行解非零元数可大于 m . 定义 2 : 假定在扩展可行解 X 中有 L 个 非零元素 , L Ε m , 那么取 m 个非零元素 , 定义
其列号所对应的集合为 B 集合 . 下面讨论 ( P) 问题的简单形式 ,假定 A 是由 AB 和一单列 a i 组成 , A 是 m ×( m + 1 ) 阶矩阵 ,
AB 是 m ×m 阶矩阵 ,则 A = ( AB , a i ) , X = ( XB , x i )
因为 X 是一个扩展可行解 , A X + b = 0 , 其 中 x i 可为零也可不为零 .
当 x i = x i +Δ x i 时 ,问题 ( P) 的指标为 W 2 ,
W 2 = C B X′ B + c i ( x i +Δ x i ) , 比较 ( 15 ) 式和 ( 19 )
T
式可知 , W 2 比 W 1 增大ΔiΔ x i . 定理 4 : 在上述条件下 , 如果 X 是 ( P) 问
0 ,可以证明 X = ( XB , x i ) 就是 ( P) 问题最优解 .
x i = x i +Δ x i (Δ x i < 0 ) , ( P) 问题指标值将增大
λ 满足鞍点充要条件 , 所以 证明 : 因为 X 、 X 是 ( P) 问题最优解 . 定理 3 : 在上述条件下 , 如果 X 是 ( P) 问 题的一个扩展可行解 , A Bλ + CB = 0 , 并且 x i Ε Δi > 0 ,在保证 A X + b = 0 的条件下 ,增大 x i , 0,
X′ B x i +Δ x i
λ = - CB . 设 a k 是 A′ 0, 阵的一列 , 其对应的 λ + ck . 误差为 :Δk = a T k
5. 设集合 H = { j | x j ≠ 0 ; x j = 0 and Δj > 0} ( j = 1 , 2 , 3 …n ) . ( 18)
广义单纯形算法29设列向量条件下基内变量xb某个元素首先变成零指标增大max列某几个元素与对角阵条件下基内变量xb某个元素首先变成零列某几个元素与新算法对线性规划例题计算结果新算法对线性规划例题计算结果例题名称行数非零元个数初始扩展可行迭代次数迭代时间标准最优值计算最优值moneshowsotyh5010015020025010020030040050000020000450008000012500010020030040050047897482788420846516045240813947897482788420846516045240813911223842974188160942688370注意新方法计算例题时使用的初始扩展可行解的非零元个数大于约束矩阵的行数广义单纯形法和标准单纯形法的迭代次数和时间相差不大但广义单纯形法起始可行解的选择范围增大
注意 : 1. 新方法计算例题时使用的初始扩展可行 解的非零元个数大于约束矩阵的行数 m , 而单 纯形法初始可行解非零元数等于 m . 2. 标准最优值是由标准单纯形法计算的结 果 m. 3. 广义单纯形法和标准单纯形法的迭代次 数和时间相差不大 ,但广义单纯形法起始可行解 的选择范围增大 .