没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
-1-
前 言
今天,人类社会正处在由工业化社会向信息化社会过渡的变革。以数字化为特征的
信息社会有两个显著特点:计算机技术的迅速发展与广泛应用;数学的应用向一切领域
渗透。随着计算机技术的飞速发展,科学计算的作用越来越引起人们的广泛重视,它已
经与科学理论和科学实验并列成为人们探索和研究自然界、人类社会的三大基本方法。
为了适应这种社会的变革,培养和造就出一批又一批适应高度信息化社会具有创新能力
的高素质的工程技术和管理人才,在各高校开设“数学建模”课程,培养学生的科学计
算能力和创新能力,就成为这种新形势下的历史必然。
数学建模是对现实世界的特定对象,为了特定的目的,根据特有的内在规律,对其
进行必要的抽象、归纳、假设和简化,运用适当的数学工具建立的一个数学结构。数学
建模就是运用数学的思想方法、数学的语言去近似地刻画一个实际研究对象,构建一座
沟通现实世界与数学世界的桥梁,并以计算机为工具应用现代计算技术达到解决各种实
际问题的目的。建立一个数学模型的全过程称为数学建模。因此“数学建模”(或数学
实验)课程教学对于开发学生的创新意识,提升人的数学素养,培养学生创造性地应用
数学工具解决实际问题的能力,有着独特的功能。
数学建模过程就是一个创造性的工作过程。人的创新能力首先是创造性思维和具备
创新的思想方法。数学本身是一门理性思维科学,数学教学正是通过各个教学环节对学
生进行严格的科学思维方法的训练,从而引发人的灵感思维,达到培养学生的创造性思
维的能力。同时数学又是一门实用科学,它具有能直接用于生产和实践,解决工程实际
中提出的问题,推动生产力的发展和科学技术的进步。学生参加数学建模活动,首先就
要了解问题的实际背景,深入到具体学科领域的前沿,这就需要学生具有能迅速查阅大
量科学资料,准确获得自己所需信息的能力;同时,不但要求学生必需了解现代数学各
门学科知识和各种数学方法,把所掌握的数学工具创造性地应用于具体的实际问题,构
建其数学结构,还要求学生熟悉各种数学软件,熟练地把现代计算机技术应用于解决当
-2-
前实际问题综合能力,最后还要具有把自己的实践过程和结果叙述成文字的写作能力。
通过数学建模全过程的各个环节,学生们进行着创造性的思维活动,模拟了现代科学研
究过程。通过“数学建模”课程的教学和数学建模活动极大地开发了学生的创造性思维
的能力,培养学生在面对错综复杂的实际问题时,具有敏锐的观察力和洞察力,以及丰
富的想象力。因此,“数学建模”课程在培养学生的创新能力方面有着其它课程不可替
代的作用。
几年的“数学建模”教学实践告诉我们,进行数学建模教学,为学生提供一本内容
丰富,既理论完整又实用的“数学建模”教材,使学生少走弯路尤为重要。这也是我们
编写这本教材的初衷。本教材可以说既是我们多年教学经验的总结,也是我们心血的结
晶。本教材的特点是尽量为学生提供常用的数学方法,并将相应的 Matlab 程序提供给
学生,使学生在进行书中提供的案例的学习中,在自己动手构建数学模型的同时上机进
行数学实验,从而为学生提供数学建模全过程的训练,以便能够达到举一反三,取得事
半功倍的教学效果。司守奎同志编写了全部的 Matlab 程序,参加本书编写的还有毛凯
同志。
全书共二十四章,各章有一定的独立性,这样便于教师和学生按需要进行选择。完
成本教材的教学大约需要 60 学时,其中方法教学与上机实践的比例一般不应少于
1:1 。
一本好的教材需要经过多年的教学实践,反复锤炼。由于我们的经验和时间所限,
书中的错误和纰漏在所难免,敬请同行不吝指正。
编者
2003年 12 月
-1-
第一章 线性规划
§1 线性规划
在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济
效益的问题。此类问题构成了运筹学的一个重要分支—数学规划,而线性规划(Linear
Programming 简记 LP)则是数学规划的一个重要分支。自从 1947 年 G. B. Dantzig 提出
求解线性规划的单纯形方法以来,线性规划在理论上趋向成熟,在实用中日益广泛与深
入。特别是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性
规划的适用领域更为广泛了,已成为现代管理中经常采用的基本方法之一。
1.1 线性规划的实例与定义
例 1 某机床厂生产甲、乙两种机床,每台销售后的利润分别为 4000 元与 3000 元。
生产甲机床需用
BA、 机器加工,加工时间分别为每台 2 小时和 1 小时;生产乙机床
需用
CBA 、、 三种机器加工,加工时间为每台各一小时。若每天可用于加工的机器时
数分别为
A
机器 10 小时、
B
机器 8 小时和 C 机器 7 小时,问该厂应生产甲、乙机床各
几台,才能使总利润最大?
上述问题的数学模型:设该厂生产
1
x 台甲机床和
2
x 乙机床时总利润最大,则
21
, xx
应满足
(目标函数)
21
34max xxz
+
=
(1)
s.t.(约束条件)
⎪
⎪
⎩
⎪
⎪
⎨
⎧
≥
≤
≤+
≤+
0,
7
8
102
21
2
21
21
xx
x
xx
xx
(2)
这里变量
21
, xx 称之为决策变量,(1)式被称为问题的目标函数,(2)中的几个不等式
是问题的约束条件,记为 s.t.(即 subject to)。由于上面的目标函数及约束条件均为线性
函数,故被称为线性规划问题。
总之,线性规划问题是在一组线性约束条件的限制下,求一线性目标函数最大或最
小的问题。
在解决实际问题时,把问题归结成一个线性规划数学模型是很重要的一步,但往往
也是困难的一步,模型建立得是否恰当,直接影响到求解。而选适当的决策变量,是我
们建立有效模型的关键之一。
1.2 线性规划的 Matlab 标准形式
线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以
是小于号也可以是大于号。为了避免这种形式多样性带来的不便,Matlab 中规定线性
规划的标准形式为
xc
x
T
min
s.t.
⎪
⎩
⎪
⎨
⎧
≤≤
=⋅
≤
ubxlb
beqxAeq
bAx
其中
c 和
x
为 n 维列向量, A 、 Aeq 为适当维数的矩阵, b 、 beq 为适当维数的列向
量。
-2-
例如线性规划
bAxxc
x
T
≥ s.t. max
的 Matlab 标准型为
bAxxc
x
T
−≤−− s.t. min
1.3 线性规划问题的解的概念
一般线性规划问题的(数学)标准型为
∑
=
=
n
j
jj
xcz
1
max (3)
s.t.
⎪
⎩
⎪
⎨
⎧
=≥
==
∑
=
njx
mibxa
j
n
j
ijij
,,2,10
,,2,1
1
L
L
(4)
可行解 满足约束条件(4)的 解
),,,(
21 n
xxxx L
=
,称为线性规划问题的可行解,
而使目标函数(3)达到最大值的可行解叫最优解。
可行域 所有可行解构成的集合称为问题的可行域,记为
R
。
1.4 线性规划的图解法
0 2 4 6 8 10
0
1
2
3
4
5
6
7
8
9
10
x2=7
2x1+x2=10
x1+x2 = 8
z=12
(2 ,6 )
图 1 线性规划的图解示意图
图解法简单直观,有助于了解线性规划问题求解的基本原理。我们先应用图解法来
求解例 1。对于每一固定的值
z ,使目标函数值等于 z 的点构成的直线称为目标函数等
位线,当
z
变动时,我们得到一族平行直线。对于例 1,显然等位线越趋于右上方,其
上的点具有越大的目标函数值。不难看出,本例的最优解为
T
x )6,2(* = ,最优目标值
26* =z 。
从上面的图解过程可以看出并不难证明以下断言:
(1)可行域
R
可能会出现多种情况。
R
可能是空集也可能是非空集合,当
R
非空
时,它必定是若干个半平面的交集(除非遇到空间维数的退化)。
R
既可能是有界区域,
也可能是无界区域。
(2)在
R
非空时,线性规划既可以存在有限最优解,也可以不存在有限最优解(其
目标函数值无界)。
-3-
(3)若线性规划存在有限最优解,则必可找到具有最优目标函数值的可行域
R
的
“顶点”。
上述论断可以推广到一般的线性规划问题,区别只在于空间的维数。在一般的
n 维
空间中,满足一线性等式
∑
=
=
n
i
ii
bxa
1
的点集被称为一个超平面,而满足一线性不等式
∑
=
≤
n
i
ii
bxa
1
(或
∑
=
≥
n
i
ii
bxa
1
)的点集被称为一个半空间(其中 ),,(
1 n
aa L 为一 n 维行
向量,
b 为一实数)。若干个半空间的交集被称为多胞形,有界的多胞形又被称为多面
体。易见,线性规划的可行域必为多胞形(为统一起见,空集
Φ
也被视为多胞形)。
在一般
n 维空间中,要直接得出多胞形“顶点”概念还有一些困难。二维空间中的顶点
可以看成为边界直线的交点,但这一几何概念的推广在一般
n 维空间中的几何意义并不
十分直观。为此,我们将采用另一途径来定义它。
定义 1 称
n
维空间中的区域
R
为一凸集,若 Rxx ∈∀
21
, 及 )1,0(∈∀
λ
,有
Rxx ∈−+
21
)1(
λλ
。
定义 2 设
R
为 n 维空间中的一个凸集,
R
中的点
x
被称为
R
的一个极点,若不
存在
Rxx ∈
21
、 及 )1,0(∈
λ
,使得
21
)1( xxx
λλ
−+= 。
定义 1 说明凸集中任意两点的连线必在此凸集中;而定义 2 说明,若
x
是凸集
R
的一个极点,则
x
不能位于
R
中任意两点的连线上。不难证明,多胞形必为凸集。同
样也不难证明,二维空间中可行域
R
的顶点均为
R
的极点(
R
也没有其它的极点)。
1.5 求解线性规划的 Matlab 解法
单纯形法是求解线性规划问题的最常用、最有效的算法之一。这里我们就不介绍
单纯形法,有兴趣的读者可以参看其它线性规划书籍。下面我们介绍线性规划的 Matlab
解法。
Matlab 中线性规划的标准型为
xc
x
T
min
s.t.
⎪
⎩
⎪
⎨
⎧
≤≤
=⋅
≤
ubxlb
beqxAeq
bAx
基本函数形式为 linprog(c,A,b),它的返回值是向量
x
的值。还有其它的一些函数调用形
式(在 Matlab 指令窗运行 help linprog 可以看到所有的函数调用形式),如:
[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X
0
,OPTIONS)
这里 fval 返回目标函数的值,LB 和 UB 分别是变量
x
的下界和上界,
0
x 是
x
的初始值,
OPTIONS 是控制参数。
例 2 求解下列线性规划问题
321
532max xxxz
−
+=
s.t.
7
321
=++ xxx
1052
321
≥+− xxx
123
321
≤+
+
xxx
0,,
321
≥xxx
剩余738页未读,继续阅读
资源评论
wangyanya22
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功