没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
线性规划单纯形法 Matlab 程序设计和验证
More information in www.iescm.com
1 线性规划问题介绍 ............................................................................................................... 2
2 线性规划模型标准化规则 ................................................................................................... 4
3 单纯形法表上作业法 ........................................................................................................... 4
4 单纯形法 Matlab 程序设计逻辑框图.................................................................................. 7
5 单纯形法 Matlab 函数 jSimplex 源代码 ............................................................................. 8
6 jSimplex 求解线性规划问题应用算例 .............................................................................. 11
6.1 例 1 求解 .................................................................................................................. 11
6.2 例 2 求解 .................................................................................................................. 12
6.3 例 3 求解 .................................................................................................................. 14
6.4 例 4 求解 .................................................................................................................. 15
7 matlab 中函数 linprog 介绍 ................................................................................................ 16
7.1 linprog 函数调用格式 .............................................................................................. 17
7.2 linprog 函数调用示例 .............................................................................................. 18
7.3 linprog 函数求解例 1 ............................................................................................... 19
7.4 linprog 函数求解例 2 ............................................................................................... 20
7.5 linprog 函数求解例 3 ............................................................................................... 22
7.5 linprog 函数求解例 4 ............................................................................................... 23
8 总结 ..................................................................................................................................... 24
一直在学习优化计算方法的内容,以往常常使用遗传算法、蚁群算法等启发
式算法进行大规模问题的近似搜索,进来发现很多情况下采用分支定界、拉格朗
日松弛等方法可以获得更好的解,而这些方法好像都涉及到线性规划问题,从而
决定集中一段时间仔细研究运筹学中这些精确求解算法。
本文档主要将以往在学生时代学习的单纯形法进行深入学习,加深理解。主
要内容包括:(1)对线性规划问题及单纯形法进行简要回顾;(2)根据单纯形法
求解的逻辑流程,采用 Matlab 编制了单纯形法求解线性规划问题的程序
jSimplex;(3)使用 jSimplex 函数对几个线性规划问题算例求解,验证 jSimplex
编写逻辑流程是否正确;(4)使用 Matlab 自带的线性规划求解函数 linprog 对前
述算例进行求解,并将其结果同自行编写的 jSimplex 求解结果进行对比,验证
jSimplex 程序编写的正确性。
通过本文档可以实现如下几个目的:(1)充分理解单纯形法求解线性规划问
题的流程;(2)熟悉了 linprog 函数的使用;(3)通过自行编写单纯形法求解程
序,为后续其他算法的学习奠定基础。
1 线性规划问题介绍
在生产和经营等管理工作中,需要经常进行计划或规划。虽然各行各业计划
和规划的内容千差万别,但其共同点均可以归纳为:在现有各项资源条件的限制
下,如何确定方案措施,使预期目标达到最优。
例 1:美佳公司计划制造 I、II 两种家电产品。已知各制造一件时分别占用
设备 A、B 的台时、调试时间及 A、B 设备和调试工序每天可用于这两种家电的
能力、各售出一件产品的获利情况如表 1 所示。问该公司应制造 A、B 两种家电
各多少件,使得获取的利润为最大。
表 1 决策数据表
I II 日可用能力
设备 A(h) 0 5 15
设备 B(h) 6 2 24
调试工序(h) 1 1 5
利润(元) 2 1
例 2:捷运公司拟在下一年度的 1~4 月的四个月内需要租用仓库堆放物资。
已知各月份所需仓库面积数列于表 2。仓库租借费用随合同期而不同,期限越长
折扣越大,具体数据见表 3。租借仓库的合同每月初都可办理,每份合同具体规
定租用面积数和期限。因此,该厂可根据需要,在任何一个月初办理租借合同。
每次办理时可签一份合同,也可签若干份租用面积和租借期限不同的合同,试确
定该公司签订租借合同的最优决策,目的是使所付租借费用最小。
表 2 仓库面积需求量
月份 1 2 3 4
需仓库面积(100 ㎡) 15 10 20 12
表 3 租借期限和租金表
合同期限 1个月 2个月 3个月 4个月
合同期内租金(元/100 ㎡) 2800 4500 6000 7300
对于上述两个规划决策的例子,都可以用数学语言进行描述,也就是构建线
性规划的数学模型。
例 1 的数学模型如下:
目标函数
12
max 2zxx
约束条件
2
12
12
12
515
(1 1)
62 24
(1 2)
5
(1 3)
,0
(1 4)
x
xx
xx
xx
变量
1
x
、
2
x
分别表示美佳公司制造家电 I 和 II 的数量,目标函数表示两种产
品所获得的最大利润,约束条件(1-1)和(1-2)表示家电产品 I 和 II 制造数量
受设备 A、B 能力的限制,约束(1-3)表示受调试工序能力的限制,约束(1-4)
表示数量的非负约束。
例 2 的数学模型如下:
目标函数
11 21 31 41 12 22 32
13 23 14
min 2800 4500
6000 7300
zxxxx xxx
xx x
约束条件
11 12 13 14
12 13 14 21 22 23
13 14 22 23 31 32
14 23 32 41
15
10
20
12
0(14, 14)
ij
xxxx
xxxxxx
xxxxxx
xxxx
xij
式中决策变量
ij
x
表示捷运公司在第
i(i=1…4)
个月初签订的租借期为
j(j=1…4)
个月的仓库面积的合同(单位
100
㎡),因为
5
月份该公司不需要租借
仓库,所以
24
x
、
33
x
、
34
x
、
42
x
、
43
x
、
44
x
均为
0
。因为该公司希望总的租借费用
最小,所以目标函数为
min
,四个约束条件依次限定为每个月租借的仓库面积不
能小于每个月份所需的仓库面积。
从上述两个模型中可以看出其具有如下共同特征:(1)目标函数是决策变量
的线性函数;(2)约束条件是决策变量的线性等式或不等式;(3)决策变量是连
续的或离散的实数。这类问题称之为线性规划问题,该类模型称之为线性规划模
型。
下面再例举两个线性规划模型示例,用于后续的求解。
例
3
目标函数
1234
min 3 4 2 5zxxxx
约束条件
12 34
123 4
1234
123 4
42 2
214
23 2
,, 0,
xx xx
xxx x
xxxx
x
xx x R
例
4
目标函数
123
min 2 2 3zxx x
约束条件
12 3
123
12 3
-+ =4
-2 6
0, 0
xx x
xxx
x
xxR
,
2 线性规划模型标准化规则
由于目标函数和约束条件在内容和形式上的差别,线性规划问题可以有多种
表达式。为了便于讨论和制定统一的算法,规定线性规划问题的标准形式如下:
目标函数
1
max
n
jj
j
zcx
约束条件
1
(1,,)
0(1,,)
n
ij j i
j
j
ax b i m
x
jn
标准性线性规划模型中,目标函数为求极大值,约束条件均为等式,约
束条件右端常数项
i
b
全为非负值,变量
j
x
全为非负值。对于不符合标准形式的线
性规划问题,则需要进行一定形式的转化,将其转化为标准形式。
表 4 非标准形线性规划模型转化为标准形的基本规则
变量
0
j
x
不需要处理
0
j
x
令
''
,0
jjj
xxx
j
x
无约束
令
''''''
,, 0
j j jjj
x x xxx
约束条件
0
i
b
不需要处理
0
i
b
约束条件两端同乘-1
左侧加松弛变量
s
i
x
左侧加人工变量
ai
x
左侧减去剩余(松弛)变量
s
i
x
,加人
工变量
ai
x
目标函数
Max z
不需要处理
Min z
令
'zz
,求 max 'z
加入变量的系
数
松弛变量
s
i
x
0
人工变量
ai
x
M
3 单纯形法表上作业法
线性规划的单纯形法求解主要步骤如下:
(1) 将模型转化为标准模型;
(2) 构建初始单纯形表;
(3)
利用单纯形表进行基变换;
(4)
检验单纯形表中每个变量的检验数,从而判断是否获得最后的解:唯一最
优解、无穷多最优解、无界解或无解。
以例 1 的求解过程为例说明单纯形法求解线性规划的基本过程。
目标函数
12
max 2zxx
约束条件
2
12
12
12
515
(1 1)
62 24
(1 2)
5
(1 3)
,0
(1 4)
x
xx
xx
xx
Step1
:根据表
1-4
的原则将模型转化为如下标准模型
目标函数
12345
max 2 0 0 0zxx x x x
约束条件
23
12 4
12 5
12345
5+ 15
62 24
5
,,,, 0
xx
xx x
xx x
xxxxx
Step2:
列单纯性表
通过约束条件可以找到基变量
3
x
、
4
x
、
5
x
,令非基变量
1
x
、
2
x
为零,找
到一个初始可行解{
0
,
0
,
15
,
24
,
5
},据此构建单纯性表如下:
表
5
初始单纯形表
j
c
2 1 0 0 0
B
C
基
i
b
1
x
2
x
3
x
4
x
5
x
0
3
x
15 0 5 1 0 0
0
4
x
24 6 2 0 1 0
0
5
x
5 1 1 0 0 1
jjj
cz
2 1 0 0 0
检验数的计算公式如下:
1
m
jj iij
i
cca
当形成了一个单纯性表后,需要进行最优性检验,判断是否获得了最优解。
最优性检验标准:
(
1
)如果表中所有检验数
0
j
,且基变量中不含有人工变量时,表中的
基可行解即为最优解,计算结束;
(
2
)如果表中所有检验数
0
j
,但基变量中含有人工变量时,另行讨论;
(
3
)如果表中检验数存在
0
j
,若有
0
j
P
(不太理解,需要进一步分析),
则问题为无界解,计算结束;
(
4
)除了上述三种情况外,需要进行第三步基可行解的变换;
剩余23页未读,继续阅读
资源评论
- harelywang2022-01-14用户下载后在一定时间内未进行评价,系统默认好评。
- qq_418667002021-12-18用户下载后在一定时间内未进行评价,系统默认好评。
- m0_581492362021-12-31用户下载后在一定时间内未进行评价,系统默认好评。
jiannywang
- 粉丝: 87
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功