最优化论文单纯形法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
变量和目标函数用非基变量表示:
7
1
1
Z 8 3 x2 3 x4
x1
4
2 6
x2
1 6
x4
x3 15 5x2
4
1
x5 1 6 x2 6 x4
第三次迭代:
当前的可行基 p1, p2 , 量。将基
变量和目标函数用非基变量表示:
Z
17 2
1 4 x4
1 2 x5
x1
7 2
1 4
x4
1 2
x5
x2
3 2
1 4 x4
3 2 x5
x3
15 2
5 4
x4
15 2
x5
在目标函数
Z
17 2
1 4
x4
1 2
x5 中,非基变量
x4
,
x5
的检验数不是正数,于是得
到最优解
x*
7 , 2
3
,
15
,0,0
T
22
,最优目标值 Z *
81 2
第 3 步:从一个基可行解转换到相邻的目标函数值更大的基可行解,列出新 的单纯形表。
1.确定换入基的变量。只要有检验数 δj>0,对应的变量 xj 就可作为进基的变 量,当有一个以上检验数大于零时,一般从中找出最大一个 δk,其对应的变量 xk 作为进基变量。
2.确定出基的变量。
min
bi aik
2.2 单纯形法的基本步骤描述
第 1 步:求初始基可行解,列出初始单纯形表。 对非标准型的线性规划问题首先要化成标准形式。由于总可以设法使约束方
程的系数矩阵中包含一个单位矩阵 P1, P2, , Pm ,以此作为基求出问题的一个初
始基可行解。 为检验一个基可行解是否最优,需要将其目标函数值与相邻基可行解的目标
用单纯形法求解线性规划问题,标准化后得:
Max s.t
Z 2x1 x2
5x2 x3
15
6x1 2x2 x4
24
x1 x2
x5 5
x1, x2 , x3 , x4 , x5 0
取初始基本可行解 x1 x2 0, x3 15, x4 24, x5 5, p3 , p4 , p5 I(单位矩
(3).解 Byk pk ,得到 yk B1 pk ;若 yk 0 ,即 yk 的每个分量均非正 数,则停止计算,问题不存在有限最优解,否则,进行步骤(4).
(4).确定下标
r,使
br yrk
min t:ytk 0
, 且y bt
ytk
tk
0
xBr 为离基变量。 xk 为进
基变量,用 pk 替换 pBr ,得到新的基矩阵 B ,返回步骤(1)。
用单纯形法求解线性规划问题所需的迭代次数主要取决于约束条件的个数。 现在一般的线性规划问题都是应用单纯形法标准软件在计算机上求解,对于具有 10^6个决策变量和10^4个约束条件的线性规划问题已能在计算机上解得。
3
2 单纯形算法求解
2.1 单纯形法的基本思路
利用求线性规划问题基本可行解(极点)的方法求解较大规模的问题是不可 行的。有选择地取基本可行解,即从可行域的一个极点出发,沿着可行域的边界 移动到另一个相邻的极点,要求新极点的目标函数值不比原目标函数值差。在线 性规划的可行域中先找出一个可行解,检验它是否为最优解,如果是最优解,计 算停止;如果不是最优解,那么可以判断线性规划无有限最优解,或者根据一定 步骤得出使目标函数值接近最优值的另一个基本可行解。由于基本可行解的个数 有限,所以总可以通过有限次迭代,得到线性规划的最优基本可行解或判定线性 规划无有限最优解。
0
1
0
-Z
-17/2
0
0
0
1/6 -1/6 -1/3 5/4 1/4 -1/4 -1/4
0 1 0 -15/2 -1/2 3/2 -1/2
37/3 4/3
--4/3
在最优单纯形表中,非基变量 x4 , x5 的检验数均为负数,于是得到最优解
x* 7 , 3 ,15 ,0,0T
Z* 81
2 2 2 ,最优目标值
2 元(表中-17/2 为-Z 的值)。
9
3、基于 MATLAB 的数学软件实验
3.1 算法 对于一般的标准形式线性规划问题(求极小问题),首先给
定一个初始基本可行解。设初始基为 B,然后执行如下步骤: (1).解 BxB b ,求得 xB B1b , 令xN 0,计算目标函数值f cB xB
…
cj
…
cn
CB
基
b
x1
…
xm
…
xj
…
xn
4
c1
x1
b1
1
…
0
…
a1j
…
a1n
c2
x2
b2
0
…
0
…
a2j
…
a2n
…
…
…
…
…
…
…
…
…
cm
xm
bm
0
…
1
…
amj
…
amn
cj-zj
m
m
0
…
0
…
c j ciaij
…
cn ciain
i 1
i 1
如表中所有检验数 cj-zj≦0,且基变量中不含有人工变量时,表中的基可行 解即为最优解,计算结束。当表中存在 cj-zj >0 时,如有 Pj≦0,则问题为无界解, 计算结束;否则转下一步。
2
1、单纯形法的描述
根据单纯形法的原理,在线性规划问题中,决策变量(控制变量)x1,x2,… x n 的值称为一个解,满足所有的约束条件的解称为可行解。使目标函数达到最 大值(或最小值)的可行解称为最优解。这样,一个或多个最优解能在整个由约 束条件所确定的可行区域内使目标函数达到最大值(或最小值)。求解线性规划 问题的目的就是要找出最优解。
第一次迭代:
取初始可行基 p3, p4 , p5 ,那么 x3, x4 , x5 为基变量, x1, x2 为非基变量。将基
变量和目标函数用非基变量表示:
Z 2x1 1x2 x3 15 5x2 x4 24 6x1 2x2 x5 5 x1 x2
第二次迭代:
当前的可行基 p1, p3 , p5 ,那么 x1, x3 , x5 为基变量, x2 , x4 为非基变量。将基
行乘以 aik ark 之后与原表中第 i 行;在 xB 列中的 r 行位置填入 xk ,其余行不变;
在 cB 列中用 ck 代替 r 行原来的值,其余的行与原表中相同。
(2) 然后用 x j 的价值系数 c j 减去 cB 列的各元素与 x j 列各对应元素的乘积,
把计算结果填入 x j 列的最后一行,得到检验数 j ,计算并填入 Z 的值(以零
阵)。初始化单纯形表并计算的过程如表 1-4 所示。
在最优单纯形表中,非基变量 x4 , x5 的检验数均为负数,于是得到最优解
x*
7 2
,
3
,
15
,0,0
T
22
,最优目标值
Z
*
8
1 2
元(表中-17/2
为-Z
的值)。
为了能够更清晰地看清单纯形算法的解题思路以及单纯形算法表格计算过
程中表格内各量的关系,把例中的 3 次迭代计算过程重述如下:
在最优单纯形表中非基变量的检验数均为负数于是得到最优解最优目标值元表中172为了能够更清晰地看清单纯形算法的解题思路以及单纯形算法表格计算过程中表格内各量的关系把例中的3次迭代计算过程重述如下
单纯形法
学院: 专业: 姓名: 学号: 指导教师:
日期:年月日
1
目录
1 算法描述 1.1 单纯形算法 ........................................... (3) 2 单纯形算法的求解 2.1 单纯形法的基本思路.................................... (4) 2.2 单纯形法的算法步骤.................................... (4) 2.3 单纯形算法求解线性规划的范例.......................... (6) 3 基于 MATLAB 的数学实验 3.1 单纯形算法 ............................................ (10) 3.2 计算框图 ............................... (错误!未定义书签。) 3.3 计算程序 ............................... (错误!未定义书签。) 3.4 数值试验及结果分析..................................... (13) 参考文献 .................................................. (14)
k 0?
| aik
0
br ark
确定
xr 是出基变量,ark 为主元。
3.用进基变量 xk 替换出基变量 xr,得到一个新的基 P1, , Pr1, Pk , Pr1, , Pm 。
对应这个基可以找出一个新的基可行解,并相应地可以画出一个新的单纯形表
(表 1-2)。
(1)
把第 r 行乘以
1 ark
之后的结果填入新表的第 r 行;对于 i r 行,把第 r
2.3 单纯形算法求解线性规划的范例
在实践中,根据实际问题的要求,常常可以建立线性规划问题的数学模型。 下面这个范例,就是一个用单纯形算法求解的线性规划的范例。
美佳公司计划制造甲,乙两种家电产品。但因财力、物力等原因,资源有限, 已知制造一个家电产品分别占用的设备 A,B 的台时、调试时间、调试工序及每 天可用于这两种家电的能力、各售出一件的获利情况,如表 1-3 所示。问该公司 应制造两种家电各多少件,使获取的利润为最大。
。
cB
xB
0
X3
0
X4
0
X5
-Z
0
X3
表 1-4 单纯形表表格计算过程
2
1
0
0
b`
X1
X2
X3
X4
15
0
5
1
0
24
[6]
2
0
1
5
1
1
0
0
0
2
1
0
0
15
0
5
1
0
8
0 θ
X5
0
--
0
4
1
5
0
0
3
2
X1
4
1
2/6
0
0
X5
1
0
[4/6]
0
-Z
-8
0
1/3
0
0
X3
15/2
0
0
1
2
X1
7/2
1
0
0
1
X2
3/2
对于极大化问题,可以给出完全类似的步骤,只是确定进基变量
的准则不同。对于极大化问题,应令
zk ck min{z j cj}
10
3.2 计算框图
开始
初始可行解 B 令 xB B1b b, xN 0, f cB xB
计算单纯形乘子 w cB B1,计算判别数i wp j c j , j R(非基变量) 令 k max{ j , j R}
以bi(i 1, 2,..., m)记B1b的第i个分量
(2).计算单纯形乘子 w, wB CB ,得到 w CBB1 ,对于非基变量,
计算判别数 i zi ci cB B1 pi ci ,令 k miaRx{zi ci} ,R 为非基变量集 合
若判别数 k 0 ,则得到一个最优基本可行解,运算结束;否则, 转到下一步
函数值进行比较。为了书写规范和便于计算,对单纯形法的计算设计了一种专门 表格,称为单纯形表(见表 1-1)。迭代计算中每找出一个新的基可行解时,就重 画一张单纯形表。含初始基可行解的单纯形表称初始单纯形表,含最优解的单纯 形表称最终单纯形表。
第 2 步:最优性检验。
表 1-1 单纯形表
cj
c1
…
cm
减去 cB 列各元素与 b 列各元素的乘积)[1]。 第 4 步:重复上述过程,就可以得到最优解或判断出无有限最优解。
5
表 1-2 初始单纯形表
cj
c1 …
cr
… cm …
cj
… ck …
CB 基
b
x1 …
xr
… xm …
xj
… xk …
c1
x1
b1
br
ark brk
……
…
ck xk ……
br a rk …
项目 设备 A(h)
设备 B(h) 调试工序(h) 利润(元)
表 1-3 产品有关数据表
甲
乙
0
5
6
2
1
1
2
1
解:根据题意构建下列线性规划模型:
6
每天可用能力 15 24 5
目标函数 Max 约束条件 s.t.
Z 2x1 x2 5x2 15
6x1 2x2 24 x1 x2 5 x1, x2 0
最优解可能出现下列情况之一:①存在着一个最优解;②存在着无穷多个最 优解;③不存在最优解,这只在三种情况下发生,即没有可行解或各项约束条件 不阻止目标函数的值无限增大(或向负的方向无限增大)。
单纯形法的一般解题步骤可归纳如下:①把线性规划问题的约束方程组表达 成典范型方程组,找出基本可行解作为初始基本可行解。②若基本可行解不存在, 即约束条件有矛盾,则问题无解。③若基本可行解存在,从初始基本可行解作为 起点,根据最优性条件和可行性条件,引入非基变量取代某一基变量,找出目标 函数值更优的另一基本可行解。④按步骤3进行迭代,直到对应检验数满足最优性 条件(这时目标函数值不能再改善),即得到问题的最优解。⑤若迭代过程中发 现问题的目标函数值无界,则终止迭代。
cm
xm
bm
br
amk ark
1
…
0…
…
0
a1k ark … 1 a rk …
amk ark
0
…
…0…
…
1
a1 j
a1k
arj brk
…
arj a rk
…
amj
amk
arj ark
0
… …
1
…
0
cj- zj
0
… ck zk
ark
…
0
…
cj z j
arj ark
ck zk
…
0
…
7
1
1
Z 8 3 x2 3 x4
x1
4
2 6
x2
1 6
x4
x3 15 5x2
4
1
x5 1 6 x2 6 x4
第三次迭代:
当前的可行基 p1, p2 , 量。将基
变量和目标函数用非基变量表示:
Z
17 2
1 4 x4
1 2 x5
x1
7 2
1 4
x4
1 2
x5
x2
3 2
1 4 x4
3 2 x5
x3
15 2
5 4
x4
15 2
x5
在目标函数
Z
17 2
1 4
x4
1 2
x5 中,非基变量
x4
,
x5
的检验数不是正数,于是得
到最优解
x*
7 , 2
3
,
15
,0,0
T
22
,最优目标值 Z *
81 2
第 3 步:从一个基可行解转换到相邻的目标函数值更大的基可行解,列出新 的单纯形表。
1.确定换入基的变量。只要有检验数 δj>0,对应的变量 xj 就可作为进基的变 量,当有一个以上检验数大于零时,一般从中找出最大一个 δk,其对应的变量 xk 作为进基变量。
2.确定出基的变量。
min
bi aik
2.2 单纯形法的基本步骤描述
第 1 步:求初始基可行解,列出初始单纯形表。 对非标准型的线性规划问题首先要化成标准形式。由于总可以设法使约束方
程的系数矩阵中包含一个单位矩阵 P1, P2, , Pm ,以此作为基求出问题的一个初
始基可行解。 为检验一个基可行解是否最优,需要将其目标函数值与相邻基可行解的目标
用单纯形法求解线性规划问题,标准化后得:
Max s.t
Z 2x1 x2
5x2 x3
15
6x1 2x2 x4
24
x1 x2
x5 5
x1, x2 , x3 , x4 , x5 0
取初始基本可行解 x1 x2 0, x3 15, x4 24, x5 5, p3 , p4 , p5 I(单位矩
(3).解 Byk pk ,得到 yk B1 pk ;若 yk 0 ,即 yk 的每个分量均非正 数,则停止计算,问题不存在有限最优解,否则,进行步骤(4).
(4).确定下标
r,使
br yrk
min t:ytk 0
, 且y bt
ytk
tk
0
xBr 为离基变量。 xk 为进
基变量,用 pk 替换 pBr ,得到新的基矩阵 B ,返回步骤(1)。
用单纯形法求解线性规划问题所需的迭代次数主要取决于约束条件的个数。 现在一般的线性规划问题都是应用单纯形法标准软件在计算机上求解,对于具有 10^6个决策变量和10^4个约束条件的线性规划问题已能在计算机上解得。
3
2 单纯形算法求解
2.1 单纯形法的基本思路
利用求线性规划问题基本可行解(极点)的方法求解较大规模的问题是不可 行的。有选择地取基本可行解,即从可行域的一个极点出发,沿着可行域的边界 移动到另一个相邻的极点,要求新极点的目标函数值不比原目标函数值差。在线 性规划的可行域中先找出一个可行解,检验它是否为最优解,如果是最优解,计 算停止;如果不是最优解,那么可以判断线性规划无有限最优解,或者根据一定 步骤得出使目标函数值接近最优值的另一个基本可行解。由于基本可行解的个数 有限,所以总可以通过有限次迭代,得到线性规划的最优基本可行解或判定线性 规划无有限最优解。
0
1
0
-Z
-17/2
0
0
0
1/6 -1/6 -1/3 5/4 1/4 -1/4 -1/4
0 1 0 -15/2 -1/2 3/2 -1/2
37/3 4/3
--4/3
在最优单纯形表中,非基变量 x4 , x5 的检验数均为负数,于是得到最优解
x* 7 , 3 ,15 ,0,0T
Z* 81
2 2 2 ,最优目标值
2 元(表中-17/2 为-Z 的值)。
9
3、基于 MATLAB 的数学软件实验
3.1 算法 对于一般的标准形式线性规划问题(求极小问题),首先给
定一个初始基本可行解。设初始基为 B,然后执行如下步骤: (1).解 BxB b ,求得 xB B1b , 令xN 0,计算目标函数值f cB xB
…
cj
…
cn
CB
基
b
x1
…
xm
…
xj
…
xn
4
c1
x1
b1
1
…
0
…
a1j
…
a1n
c2
x2
b2
0
…
0
…
a2j
…
a2n
…
…
…
…
…
…
…
…
…
cm
xm
bm
0
…
1
…
amj
…
amn
cj-zj
m
m
0
…
0
…
c j ciaij
…
cn ciain
i 1
i 1
如表中所有检验数 cj-zj≦0,且基变量中不含有人工变量时,表中的基可行 解即为最优解,计算结束。当表中存在 cj-zj >0 时,如有 Pj≦0,则问题为无界解, 计算结束;否则转下一步。
2
1、单纯形法的描述
根据单纯形法的原理,在线性规划问题中,决策变量(控制变量)x1,x2,… x n 的值称为一个解,满足所有的约束条件的解称为可行解。使目标函数达到最 大值(或最小值)的可行解称为最优解。这样,一个或多个最优解能在整个由约 束条件所确定的可行区域内使目标函数达到最大值(或最小值)。求解线性规划 问题的目的就是要找出最优解。
第一次迭代:
取初始可行基 p3, p4 , p5 ,那么 x3, x4 , x5 为基变量, x1, x2 为非基变量。将基
变量和目标函数用非基变量表示:
Z 2x1 1x2 x3 15 5x2 x4 24 6x1 2x2 x5 5 x1 x2
第二次迭代:
当前的可行基 p1, p3 , p5 ,那么 x1, x3 , x5 为基变量, x2 , x4 为非基变量。将基
行乘以 aik ark 之后与原表中第 i 行;在 xB 列中的 r 行位置填入 xk ,其余行不变;
在 cB 列中用 ck 代替 r 行原来的值,其余的行与原表中相同。
(2) 然后用 x j 的价值系数 c j 减去 cB 列的各元素与 x j 列各对应元素的乘积,
把计算结果填入 x j 列的最后一行,得到检验数 j ,计算并填入 Z 的值(以零
阵)。初始化单纯形表并计算的过程如表 1-4 所示。
在最优单纯形表中,非基变量 x4 , x5 的检验数均为负数,于是得到最优解
x*
7 2
,
3
,
15
,0,0
T
22
,最优目标值
Z
*
8
1 2
元(表中-17/2
为-Z
的值)。
为了能够更清晰地看清单纯形算法的解题思路以及单纯形算法表格计算过
程中表格内各量的关系,把例中的 3 次迭代计算过程重述如下:
在最优单纯形表中非基变量的检验数均为负数于是得到最优解最优目标值元表中172为了能够更清晰地看清单纯形算法的解题思路以及单纯形算法表格计算过程中表格内各量的关系把例中的3次迭代计算过程重述如下
单纯形法
学院: 专业: 姓名: 学号: 指导教师:
日期:年月日
1
目录
1 算法描述 1.1 单纯形算法 ........................................... (3) 2 单纯形算法的求解 2.1 单纯形法的基本思路.................................... (4) 2.2 单纯形法的算法步骤.................................... (4) 2.3 单纯形算法求解线性规划的范例.......................... (6) 3 基于 MATLAB 的数学实验 3.1 单纯形算法 ............................................ (10) 3.2 计算框图 ............................... (错误!未定义书签。) 3.3 计算程序 ............................... (错误!未定义书签。) 3.4 数值试验及结果分析..................................... (13) 参考文献 .................................................. (14)
k 0?
| aik
0
br ark
确定
xr 是出基变量,ark 为主元。
3.用进基变量 xk 替换出基变量 xr,得到一个新的基 P1, , Pr1, Pk , Pr1, , Pm 。
对应这个基可以找出一个新的基可行解,并相应地可以画出一个新的单纯形表
(表 1-2)。
(1)
把第 r 行乘以
1 ark
之后的结果填入新表的第 r 行;对于 i r 行,把第 r
2.3 单纯形算法求解线性规划的范例
在实践中,根据实际问题的要求,常常可以建立线性规划问题的数学模型。 下面这个范例,就是一个用单纯形算法求解的线性规划的范例。
美佳公司计划制造甲,乙两种家电产品。但因财力、物力等原因,资源有限, 已知制造一个家电产品分别占用的设备 A,B 的台时、调试时间、调试工序及每 天可用于这两种家电的能力、各售出一件的获利情况,如表 1-3 所示。问该公司 应制造两种家电各多少件,使获取的利润为最大。
。
cB
xB
0
X3
0
X4
0
X5
-Z
0
X3
表 1-4 单纯形表表格计算过程
2
1
0
0
b`
X1
X2
X3
X4
15
0
5
1
0
24
[6]
2
0
1
5
1
1
0
0
0
2
1
0
0
15
0
5
1
0
8
0 θ
X5
0
--
0
4
1
5
0
0
3
2
X1
4
1
2/6
0
0
X5
1
0
[4/6]
0
-Z
-8
0
1/3
0
0
X3
15/2
0
0
1
2
X1
7/2
1
0
0
1
X2
3/2
对于极大化问题,可以给出完全类似的步骤,只是确定进基变量
的准则不同。对于极大化问题,应令
zk ck min{z j cj}
10
3.2 计算框图
开始
初始可行解 B 令 xB B1b b, xN 0, f cB xB
计算单纯形乘子 w cB B1,计算判别数i wp j c j , j R(非基变量) 令 k max{ j , j R}
以bi(i 1, 2,..., m)记B1b的第i个分量
(2).计算单纯形乘子 w, wB CB ,得到 w CBB1 ,对于非基变量,
计算判别数 i zi ci cB B1 pi ci ,令 k miaRx{zi ci} ,R 为非基变量集 合
若判别数 k 0 ,则得到一个最优基本可行解,运算结束;否则, 转到下一步
函数值进行比较。为了书写规范和便于计算,对单纯形法的计算设计了一种专门 表格,称为单纯形表(见表 1-1)。迭代计算中每找出一个新的基可行解时,就重 画一张单纯形表。含初始基可行解的单纯形表称初始单纯形表,含最优解的单纯 形表称最终单纯形表。
第 2 步:最优性检验。
表 1-1 单纯形表
cj
c1
…
cm
减去 cB 列各元素与 b 列各元素的乘积)[1]。 第 4 步:重复上述过程,就可以得到最优解或判断出无有限最优解。
5
表 1-2 初始单纯形表
cj
c1 …
cr
… cm …
cj
… ck …
CB 基
b
x1 …
xr
… xm …
xj
… xk …
c1
x1
b1
br
ark brk
……
…
ck xk ……
br a rk …
项目 设备 A(h)
设备 B(h) 调试工序(h) 利润(元)
表 1-3 产品有关数据表
甲
乙
0
5
6
2
1
1
2
1
解:根据题意构建下列线性规划模型:
6
每天可用能力 15 24 5
目标函数 Max 约束条件 s.t.
Z 2x1 x2 5x2 15
6x1 2x2 24 x1 x2 5 x1, x2 0
最优解可能出现下列情况之一:①存在着一个最优解;②存在着无穷多个最 优解;③不存在最优解,这只在三种情况下发生,即没有可行解或各项约束条件 不阻止目标函数的值无限增大(或向负的方向无限增大)。
单纯形法的一般解题步骤可归纳如下:①把线性规划问题的约束方程组表达 成典范型方程组,找出基本可行解作为初始基本可行解。②若基本可行解不存在, 即约束条件有矛盾,则问题无解。③若基本可行解存在,从初始基本可行解作为 起点,根据最优性条件和可行性条件,引入非基变量取代某一基变量,找出目标 函数值更优的另一基本可行解。④按步骤3进行迭代,直到对应检验数满足最优性 条件(这时目标函数值不能再改善),即得到问题的最优解。⑤若迭代过程中发 现问题的目标函数值无界,则终止迭代。
cm
xm
bm
br
amk ark
1
…
0…
…
0
a1k ark … 1 a rk …
amk ark
0
…
…0…
…
1
a1 j
a1k
arj brk
…
arj a rk
…
amj
amk
arj ark
0
… …
1
…
0
cj- zj
0
… ck zk
ark
…
0
…
cj z j
arj ark
ck zk
…
0
…