1..第一章 线性规划

本文由用户“passget”分享发布 更新时间:2020-03-09 21:30:54 举报文档

以下为《1..第一章 线性规划》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

更多免费学习资料,请关注微博:学神资料站 更多学习资料,请关注淘宝店铺:学神资料站    https://shop156050543.taobao.com/ 第一章 线性规划 §1 线性规划 在人们的生产实践中,经常会遇到如何利用现有资源XX排生产,以取得最大经济 效益的问题。此类问题构成了运筹学的一个重要分支—数学规划,而线性规划(Linear Programming 简记 LP)则是数学规划的一个重要分支。自从 1947 年 G. B. Dantzig 提出 求解线性规划的单纯形方法以来,线性规划在理论上趋向成熟,在实用中日益广泛与深 入。特别是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性 规划的适用领域更为广泛了,已成为现代管理中经常采用的基本方法之一。 1.1 线性规划的实例与定义 例 1 某机床厂生产甲、乙两种机床,每台销售后的利润分别为 4000 元与 3000 元。 生产甲机床需用 A、B 机器加工,加工时间分别为每台 2 小时和 1 小时;生产乙机床 需用 A、B、C 三种机器加工,加工时间为每台各一小时。若每天可用于加工的机器时 数分别为 A 机器 10 小时、B 机器 8 小时和 C 机器 7 小时,问该厂应生产甲、乙机床各 几台,才能使总利润最大? 上述问题的数学模型:设该厂生产 x1 台甲机床和 x2 乙机床时总利润最大,则 x1, x2 应满足 (目标函数) max z = 4x1 + 3x2 (1) #?x1 + x2 ≤ 10 s.t.(约束条件) #??#?#? x1 x2 + ≤ x2 7 ≤ 8 #?﹛1, x2 ≥ 0 (2) 这里变量 x1, x2 称之为决策变量,(1)式被称为问题的目标函数,(2)中的几个不等式 是问题的约束条件,记为 s.t.(即 subject to)。由于上面的目标函数及约束条件均为线性 函数,故被称为线性规划问题。 总之,线性规划问题是在一组线性约束条件的限制下,求一线性目标函数最大或最 小的问题。 在解决实际问题时,把问题归结成一个线性规划数学模型是很重要的一步,但往往 也是困难的一步,模型建立得是否恰当,直接影响到求解。而选适当的决策变量,是我 们建立有效模型的关键之一。 1.2 线性规划的 Matlab 标准形式 线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以 是小于号也可以是大于号。为了避免这种形式多样性带来的不便,Matlab 中规定线性 规划的标准形式为 min cT x x #x ≤ b s.t. #?#? Aeq ⋅ x = beq #?﹍b ≤ x ≤ ub 其中 c 和 x 为 n 维列向量, A 、 Aeq 为适当维数的矩阵, b 、 beq 为适当维数的列向 量。 -1- 例如线性规划 max cT x s.t. Ax ≥ b x 的 Matlab 标准型为 min − cT x s.t. − Ax ≤ −b x 1.3 线性规划问题的解的概念 一般线性规划问题的(数学)标准型为 n ∑ max z = c j x j (3) j =1 ∑ #?#? n aij x j = bi i = 1,2,L, m s.t. #?j=1 (4) #?﹛ j ≥ 0 j = 1,2,L, n 可行解 满足约束条件(4)的解 x = ( x1, x2,L, xn ) ,称为线性规划问题的可行解, 而使目标函数(3)达到最大值的可行解叫最优解。 可行域 所有可行解构成的集合称为问题的可行域,记为 R 。 1.4 线性规划的图解法 10 9 2 x1 + x2 = 1 0 8 7 x2 = 7 6 (2 ,6 ) 5 4 3 2 x1 + x2 = 8 1 z= 1 2 0 0 2 4 6 8 10 图 1 线性规划的图解示意图 图解法简单直观,有助于了解线性规划问题求解的基本原理。我们先应用图解法来 求解例 1。对于每一固定的值 z ,使目标函数值等于 z 的点构成的直线称为目标函数等 位某某,当 z 变动时,我们得到一族平行直线。对于例 1,显然等位某某越趋于右上方,其 上的点具有越大的目标函数值。不难看出,本例的最优解为 x* = (2,6)T ,最优目标值 z* = 26 。 从上面的图解过程可以看出并不难证明以下断言: (1)可行域 R 可能会出现多种情况。R 可能是空集也可能是非空集合,当 R 非空 时,它必定是若干个半平面的交集(除非遇到空间维数的退化)。R 既可能是有界区域, 也可能是无界区域。 (2)在 R 非空时,线性规划既可以存在有限最优解,也可以不存在有限最优解(其 目标函数值无界)。 -2- (3)若线性规划存在有限最优解,则必可找到具有最优目标函数值的可行域 R 的 “顶点”。 上述论断可以推广到一般的线性规划问题,区别只在于空间的维数。在一般的 n 维 n ∑ 空间中,满足一线性等式 ai xi = b 的点集被称为一个超平面,而满足一线性不等式 i =1 n n ∑ ∑ ai xi ≤ b(或 ai xi ≥ b )的点集被称为一个半空间(其中 (a1,L, an ) 为一 n 维行 i =1 i =1 向量, b 为一实数)。若干个半空间的交集被称为多胞形,有界的多胞形又被称为多面 体。易见,线性规划的可行域必为多胞形(为统一起见,空集 Φ 也被视为多胞形)。 在一般 n 维空间中,要直接得出多胞形“顶点”概念还有一些困难。二维空间中的顶点 可以看成为边界直线的交点,但这一几何概念的推广在一般 n 维空间中的几何意义并不 十分直观。为此,我们将采用另一途径来定义它。 定义 1 称 n 维空间中的区域 R 为一凸集,若 ∀x1, x2 ∈ R 及 ∀λ ∈ (0,1) ,有 λx1 + (1 − λ)x2 ∈ R 。 定义 2 设 R 为 n 维空间中的一个凸集, R 中的点 x 被称为 R 的一个极点,若不 存在 x1、x2 ∈ R 及 λ ∈ (0,1) ,使得 x = λx1 + (1 − λ)x2 。 定义 1 说明凸集中任意两点的连线必在此凸集中;而定义 2 说明,若 x 是凸集 R 的一个极点,则 x 不能位于 R 中任意两点的连线上。不难证明,多胞形必为凸集。同 样也不难证明,二维空间中可行域 R 的顶点均为 R 的极点( R 也没有其它的极点)。 1.5 求解线性规划的 Matlab 解法 单纯形法是求解线性规划问题的最常用、最有效的算法之一。这里我们就不介绍 单纯形法,有兴趣的读者可以参看其它线性规划书籍。下面我们介绍线性规划的 Matlab 解法。 Matlab 中线性规划的标准型为 min cT x x #x ≤ b s.t. #?#? Aeq ⋅ x = beq #?﹍b ≤ x ≤ ub 基本函数形式为 linprog(c,A,b),它的返回值是向量 x 的值。还有其它的一些函数调用形 式(在 Matlab 指令窗运行 help linprog 可以看到所有的函数调用形式),如: [x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS) 这里 fval 返回目标函数的值,LB 和 UB 分别是变量 x 的下界和上界,x0 是 x 的初始值, OPTIONS 是控制参数。 例 2 求解下列线性规划问题 max z = 2x1 + 3x2 − 5x3 s.t. x1 + x2 + x3 = 7 2x1 − 5x2 + x3 ≥ 10 x1 + 3x2 + x3 ≤ 12 x1, x2 , x3 ≥ 0 -3- 解 (i)编写 M 文件 c=[2;3;-5]; a=[-2,5,-1;1,3,1]; b=[-10;12]; aeq=[1,1,1]; beq=7; x=linprog(-c,a,b,aeq,beq,zeros(3,1)) value=c'*x (ii)将M文件存盘,并命名为example1.m。 (iii)在Matlab指令窗运行example1即可得所求结果。 例3 求解线性规划问题 min z = 2x1 + 3x2 + x3 #???x1x1++42xx2 2+≥26x3 ≥ 8 #?﹛1, x2 , x3 ≥ 0 解 编写Matlab程序如下: c=[2;3;1]; a=[1,4,2;3,2,0]; b=[8;6]; [x,y]=linprog(c,-a,-b,[],[],zeros(3,1)) 1.6 可以转化为线性规划的问题 很多看起来不是线性规划的问题也可以通过变换变成线性规划的问题来解决。如: 例4 规划问题为 min | x1 | + | x2 | +L+ | xn | s. t. Ax ≤ b 其中 x = [x1 L xn ]T , A 和 b 为相应维数的矩阵和向量。 要把上面的问题变换成线性规划问题,只要注意到事实:对任意的 xi ,存在 ui , vi > 0 满足 xi = ui − vi , | xi |= ui + vi 事实上,我们只要取 ui = xi + | 2 xi | , vi = | xi | −xi 2 就可以满足上面的条件。 这样,记 u = [u1 L un ]T , v = [v1 L vn ]T ,从而我们可以把上面的问题 变成 n ∑ min (ui + vi ) i =1 #(u − v) ≤ b s. t. #?╱, v ≥ 0 例5 min{max xi yi |εi |} 其中 ε i = xi − yi 。 对于这个问题,如果我们取 x0 = max yi |εi | ,这样,上面的问题就变换成 -4- min x0 s. t. x1 − y1 ≤ x0 ,L, xn − yn ≤ x0 此即我们通常的线性规划问题。 §2 运输问题(产销平衡) 例 6 某商品有 m 个产地、 n 个销地,各产地的产量分别为 a1,L, am ,各销地的 需求量分别为 b1,L, bn 。若该商品由 i 产地运到 j 销地的单位运价为 cij ,问应该如何调 运才能使总运费最省? 解:引入变量 xij ,其取值为由 i 产地运往 j 销地的该商品数量,数学模型为 mn ∑ ∑ min cij xij i =1 j =1 ∑ #?n #? xij = ai , i = 1,L, m #?j =1 ∑ #?m s.t. #?xij = bj , j = 1,2,L, n #?i =1 #?#? xij ≥ 0 #? 显然是一个线性规划问题,当然可以用单纯形法求解。 对产销平衡的运输问题,由于有以下关系式存在: ∑ ∑ ∑ ∑ ∑ ∑ n bj j =1 = m i =1 #???? n j =1 xij #???? = n #??m #?j=1 i=1 xij #??#? = m ai i =1 其约束条件的系数矩阵相当特殊,可用比较简单的计算方法,习惯上称为表上作业法(由 康托洛维奇和希奇柯克两人独立地提出,简称康—希表上作业法)。 §3 指派问题 3.1 指派问题的数学模型 例 7 拟分配 n 人去干 n 项工作,每人干且仅干一项工作,若分配第 i 人去干第 j 项工作,需花费 cij 单位时间,问应如何分配工作才能使工人花费的总时间最少? 容易看出,要给出一个指派问题的实例,只需给出矩阵 C = (cij ) , C 被称为指派 问题的系数矩阵。 引入变量 xij ,若分配 i 干 j 工作,则取 xij = 1,否则取 xij = 0 。上述指派问题的 数学模型为 nn ∑ ∑ min cij xij i =1 j =1 n ∑ s.t. xij = 1 j =1 -5- n ∑ xij = 1 i =1 xij = 0 或1 上述指派问题的可行解可以用一个矩阵表示,其每行每列均有且只有一个元素为 1,其余元素均为 0;可以用1,L, n 中的一个置换表示。 问题中的变量只能取 0 或 1,从而是一个 0-1 规划问题。一般的 0-1 规划问题求解 极为困难。但指派问题并不难解,其约束方程组的系数矩阵十分特殊(被称为全单位模 矩阵,其各阶非零子式均为 ± 1),其非负可行解的分量只能取 0 或 1,故约束 xij = 0或1 可改写为 xij ≥ 0 而不改变其解。此时,指派问题被转化为一个特殊的运输问题,其中 m = n , ai = bj = 1 。 3.2 求解指派问题的匈牙利算法 由于指派问题的特殊性,又存在着由匈牙利数学家 Konig 提出的更为简便的解法 —匈牙利算法。算法主要依据以下事实:如果系数矩阵 C = (cij ) 一行(或一列)中每 一元素都加上或减去同一个数,得到一个新矩阵 B = (bij ) ,则以 C 或 B 为系数矩阵的 指派问题具有相同的最优指派。 例 8 求解指派问题,其系数矩阵为 #?6 15 19 22#?C = #??7 21 19 18#??#?4 22 18 17#?#??7 19 22 16#??解 将第一行元素减去此行中的最小元素 15,同样,第二行元素减去 17,第三行 元素减去 17,最后一行的元素减去 16,得 #? 0 4 7#? B1 = #?? #? 4 5 2 1 1#??0#? #?? 3 6 0#?? 再将第 3 列元素各减去 1,得 #?1 0* 3 7 #? B2 = #??* #? 4 5 1 0* 1 #?#? 0#? #?#? 3 5 0* #?#? 以 B2 为系数矩阵的指派问题有最优指派 #???? 1 2 2 1 3 3 44 #???? 由等价性,它也是例 7 的最优指派。 有时问题会稍复杂一些。 例 9 求解系数矩阵 C 的指派问题 -6- #?2 7 9 7 9 #? #?#? 8 9 6 6 6 #?#? C = #?7 17 12 14 12#? #??5 14 6 6 10#?? #??4 10 7 10 6 #?? 解:先作等价变换如下 − 7 #?2 7 9 7 9 #?#?5 0 * 2 0 2#? −6 #?#? 8 9 6 6 6 #?#? #?#? 2 3 0 0 * 0#?? − 7 #?7 17 12 14 12#?→ #? * 10 5 7 5#?∨ − 6 #??5 14 6 6 10#?? #?#? 9 8 0 * 0 4#?? − 4 #??4 10 7 10 6 #??#??0 6 3 6 2#??∨ ∨ 容易看出,从变换后的矩阵中只能选出四个位于不同行不同列的零元素,但 n = 5 , 最优指派还无法看出。此时等价变换还可进行下去。步骤如下: (1) 对未选出 0 元素的行打 ∨ ; (2) 对 ∨ 行中 0 元素所在列打 ∨ ; (3) 对 ∨ 列中选中的 0 元素所在行打 ∨ ; 重复(2)、(3)直到无法再打 ∨ 为止。 可以证明,若用直线划没有打 ∨ 的行与打 ∨ 的列,就得到了能够覆盖住矩阵中所 有零元素的最少条数的直线集合,找出未覆盖的元素中的最小者,令 ∨ 行元素减去此 数, ∨ 列元素加上此数,则原先选中的 0 元素不变,而未覆盖元素中至少有一个已转 变为 0,且新矩阵的指派问题与原某某也等价。上述过程可反复采用,直到能选取出足 够的 0 元素为止。例如,对例 5 变换后的矩阵再变换,第三行、第五行元素减去 2,第 一列元素加上 2,得 #?7 0 2 0 2#? #?#? 4 30 0 0#?? #?0 8 3 5 3#? #??1 8 0 0 4#?? #??0 4 1 4 0#?? 现在已可看出,最优指派为 #???? 1 2 2 4 3 1 4 3 55#????。 §4 对偶理论与灵敏度分析 4.1 原始问题和对偶问题 考虑下列一对线性规划模型: max cT x s.t. Ax ≤ b, x ≥ 0 (P) 和 min bT y s.t. AT y ≥ c, y ≥ 0 (D) -7- 称(P)为原始问题,(D)为它的对偶问题。 不太严谨地说,对偶问题可被看作是原始问题的“行列转置”: (1) 原始问题中的第 j 列系数与其对偶问题中的第 j 行的系数相同; (2) 原始目标函数的各个系数行与其对偶问题右侧的各常数列相同; (3) 原始问题右侧的各常数列与其对偶目标函数的各个系数行相同; (4) 在这一对问题中,不等式方向和优化方向相反。 考虑线性规划: min cT x s.t. Ax = b, x ≥ 0 把其中的等式约束变成不等式约束,可得 min cT x 它的对偶问题是 s.t. #?A#?#??minus; A#? ≥ ##?#??minus; b#?? x ≥ 0 [ ] max bT − bT #?y1 #? #?#? y 2 #?#? [ ] s.t. AT − AT #?#?#? y1 y2 #?#?#? ≤ c 其中 y1 和 y2 分别表示对应于约束 Ax ≥ b 和 − Ax ≥ −b 的对偶变量组。令 y = y1 − y2 , 则上式又可写成 max bT y s.t. AT y ≤ c 原某某和对偶的对偶约束之间的关系: min max #?ge; 0 变量 #??le; 0 #?┪尴拗? #?le; 0 行约束 #??ge; 0 #?? 0 #?ge; 0 行约束 #??le; 0 #?? 0 #?ge; 0 变量 #??le; 0 #?┪尴拗? 4.2 对偶问题的基本性质 1o 对称性:对偶问题的对偶是原某某。 2o 弱 对 偶 性 : 若 x 是 原 问 题 的 可 行 解 , y 是 对 偶 问 题 的 可 行 解 。 则 存 在 cT x ≤ bT y 。 3o 无界性:若原某某(对偶问题)为无界解,则其对偶问题(原某某)无可行解。 4o 可行解是最优解时的性质:设 xˆ 是原某某的可行解, yˆ 是对偶问题的可行解, 当 cT xˆ = bT yˆ 时, xˆ, yˆ 是最优解。 5o 对偶定理:若原某某有最优解,那么对偶问题也有最优解;且目标函数值相同。 6o 互补松弛性:若 xˆ, yˆ 分别是原某某和对偶问题的最优解,则 例 10 yˆ T ( Axˆ − b) = 0, xˆT ( AT yˆ − c) = 0 已知线性规划问题 min ω = 2x1 + 3x2 + 5x3 + 2x4 + 3x5 s.t. x1 + x2 + 2x3 + x4 + 3x5 ≥ 4 -8- 2x1 − x2 + 3x3 + x4 + x5 ≥ 3 x j ≥ 0 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 = − 1 2 9.一架货机有三个货舱:前舱、中仓和后舱。三个货舱所能装载的货物的最大重 量和体积有限制如表 5 所示。并且为了飞机的平衡,三个货舱装载的货物重量必须与其 最大的容许量成比例。 前舱 表 5 货舱数据 中仓 后舱 重量限制(吨) 体积限制(立方米) 10 6800 16 8700 8 5300 现有四类货物用该货机进行装运,货物的规格以及装运后获得的利润如表 6。 货物 1 货物 2 货物 3 货物 4 表6 重量(吨) 18 15 23 12 货物规格及利润表 空间(立方米/吨) 480 650 580 390 利润(元/吨) 3100 3800 3500 2850 -14- 更多免费学习资料,请关注微博:学神资料站 更多学习资料,请关注淘宝店铺:学神资料站    https://shop156050543.taobao.com/ 假设: (1)每种货物可以无限细分; (2)每种货物可以分布在一个或者多个货舱内; (3)不同的货物可以放在同一个货舱内,并且可以保证不留空隙。 问应如何装运,使货机飞行利润最大? -15- [文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。

  1. 1125陆昊部长在全国国土空间规划视频培训会议上的讲话导读
  2. 十四五规划内容解读 2035年远景目标纲要
  3. 数学建模(cumcm)历届竞赛赛题基本解法
  4. 函数的单调性教学设计
  5. 职业生涯规划模板
  6. 计量经济学提纲
  7. 建行线性规划分析
  8. 罚函数罚与乘子法教案
  9. C 翻转任务单某某
  10. 房地产开发经营法律实务学习笔记
  11. 职业生涯规划活动
  12. 多目标规划matlab程序实现
  13. 关于寒假撰写“学业规划书”的通知
  14. 《函数的概念》的教学设计
  15. 第10周 条件计算函数、日期函数
  16. 《运筹学》考试大纲
  17. 2020届高考数学(理)二轮复习专题检测(2)基本初等函数
  18. 1..第一章 线性规划
  19. Python基础知识面试问题

以上为《1..第一章 线性规划》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览