680 likes | 838 Views
Experiments in Mathematics. 数学实验. Mathematics Laboratory. 阮小娥博士. 西安交通大学理学院 李换琴. 办公地址:理科楼225. 美国空军为了保证士兵的营养,规定每餐的食品中,要保证一定的营养成份,例如蛋白质、脂肪、维生素等等,都有定量的规定。当然这些营养成份可以由各种不同的食物来提供,例如牛奶提供蛋白质和维生素,黄油提供蛋白质和脂肪,胡萝卜提供维生素,等等。由於战争条件的限制,食品种类有限,又要尽量降低成本,於是在一盒套餐中,如何决定各种食品的数量,使得既能满足营养成份的需要,又可以降低成本?
E N D
Experiments in Mathematics 数学实验 Mathematics Laboratory 阮小娥博士 西安交通大学理学院 李换琴 办公地址:理科楼225
美国空军为了保证士兵的营养,规定每餐的食品中,要保证一定的营养成份,例如蛋白质、脂肪、维生素等等,都有定量的规定。当然这些营养成份可以由各种不同的食物来提供,例如牛奶提供蛋白质和维生素,黄油提供蛋白质和脂肪,胡萝卜提供维生素,等等。由於战争条件的限制,食品种类有限,又要尽量降低成本,於是在一盒套餐中,如何决定各种食品的数量,使得既能满足营养成份的需要,又可以降低成本?美国空军为了保证士兵的营养,规定每餐的食品中,要保证一定的营养成份,例如蛋白质、脂肪、维生素等等,都有定量的规定。当然这些营养成份可以由各种不同的食物来提供,例如牛奶提供蛋白质和维生素,黄油提供蛋白质和脂肪,胡萝卜提供维生素,等等。由於战争条件的限制,食品种类有限,又要尽量降低成本,於是在一盒套餐中,如何决定各种食品的数量,使得既能满足营养成份的需要,又可以降低成本? • 现代管理问题虽然千变万化,但大致上总是要利用有限的资源,去追求最大的利润或最小的成本,如何解决这些问题? 解决问题的方法:线性规划 1
在波斯湾战争期间,美国军方利用线性规划,有效地解决了部队给养和武器调运问题,对促进战争的胜利,起了关键的作用。甚至有这样的说法:因为使用炸药,第一次世界大战可说是「化学的战争」;因为使用原子弹,第二次世界大战可说是「物理的战争」;因为使用线性规划,波斯湾战争可称为「数学的战争」。在波斯湾战争期间,美国军方利用线性规划,有效地解决了部队给养和武器调运问题,对促进战争的胜利,起了关键的作用。甚至有这样的说法:因为使用炸药,第一次世界大战可说是「化学的战争」;因为使用原子弹,第二次世界大战可说是「物理的战争」;因为使用线性规划,波斯湾战争可称为「数学的战争」。 • 在历史上,没有哪种数学方法,可以像线性规划那样,直接为人类创造如此巨额的财富,并对历史的进程发生如此直接的影响。 2
A B 备用资源 煤 1 2 30 劳动日 3 2 60 仓库 0 2 24 利润 40 50 实验八 线性函数极值求解 一、引例 例1、生产计划问题: 某企业生产A,B两 种产品,成本和利润指标如下: 问:A, B各生产多少, 可获最大利润? 3
x1 + 2x2 30, 3x1+ 2x2 60, 2x2 24, x1,x2 0; A B 备用资源 煤 1 2 30 劳动日 3 2 60 仓库 0 2 24 利润 40 50 解:设产品A, B的产量分别为变量x1 , x2,则: max Z= 40x1+50x2 s.t. 4
例2:(资源配置问题) 现有四种原料,其单位成本和所含维生素A,B,C成分如下: A B C 每单位成本 原料1 4 1 0 2 原料2 6 1 2 5 原料3 1 7 1 6 原料4 2 5 3 8 每单位添加剂中 维生素最低含量 12 14 8 求:最低成本的原料混合方案。 5
4x1 + 6x2 + x3+2x412, x1 + x2 +7x3+5x414, 2x2 + x3+3x4 8, xi 0 (i =1,…,4); A B C 每单位成本 原料1 4 1 0 2 原料2 6 1 2 5 原料3 1 7 1 6 原料4 2 5 3 8 每单位添加剂中 维生素最低含量 12 14 8 解: 设每单位添加剂中原料i的用量为xi(i =1,2,3,4),则: minZ=2x1 +5x2 +6x3+8x4 s.t. 6
Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ 2.9m 1 2 0 1 0 2.1m 0 0 2 2 1 1.5m 3 1 2 0 3 合计 7.4 7.3 7.2 7.1 6.6 料头 0 0.1 0.2 0.3 0.8 例3、 (资源配置问题) 有一批长度为7.4m的钢筋若干根。现有5中下料方案,分别作成2.9m, 2.1m,1.5m的钢筋架子各100根。每种下料方案及剩余料头如下表所示: 问:如何下料使得剩余料头最少? 7
Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ 2.9m 1 2 0 1 0 2.1m 0 0 2 2 1 1.5m 3 1 2 0 3 合计 7.4 7.3 7.2 7.1 6.6 料头 0 0.1 0.2 0.3 0.8 x1 + 2x2 + x4 =100, 2x3 +2x4+ x5=100, 3x1+ x2+2x3 +3x5=100, xi 0 (i =1,…,5),且为整数; 解:设按第i种方案下料的原材料为xi根,则: minZ= 0.1x2 + 0.2x3+0.3x4+0.8x5 s.t. 8
1 2 3 库存容量 12 1 3 50 22 2 4 30 33 4 2 10 需求 40 15 35 车间 仓库 例4、(运输问题) 某棉纺厂的原棉需从仓库运送到各车间。各车间原棉需求量,单位产品从各仓库运往各车间的运输费以及各仓库的库存容量如下表所列: 问:如何安排运输任务使得总运费最小? 9
x11 +x12+x13 50, x21+x22+x23 30, x31+x32+x33 10, x11 +x21+x31 = 40, x12 +x22+x32 =15, x13 +x23+x33 =35, xij 0, i =1,2,3; j =1,2,3; 车间 1 2 3 库存容量 1 2 1 3 50 2 2 2 4 30 3 3 4 2 10 需求 40 15 35 仓库 解: 设xij为i仓库运到 j车间的原棉数量(i=1,2,3;j =1,2,3)。则 minZ= 2x11 + x12+3x13+2x21 +2x22 +4x23+3x31 +4x32 +2x33 s.t. 10
例5、连续投资10万元于4个项目。各项目投资时间和本利情况如下:例5、连续投资10万元于4个项目。各项目投资时间和本利情况如下: 项目A:从第1年 到第4年每年初要投资,次年末 回收本利1.15倍。 项目B:第3年初投资,到第5年末回收本利1.25倍, 最大投资4万元。 项目C:第2年初投资,到第5年末回收本利1.40倍, 最大投资3万元。 项目D:每年初投资,每年末回收本利1.11倍。 求:如何分配投资资金使得5年末总资本最大? 11
年份 1 2 3 4 5 A x1A x2A x3A x4A B x3B C x2C D x1D x2D x3D x4D x5D 项目 解: 设xik( i =1,2,3,4,5; k =A,B,C,D)表示第i年初投资第k项目的资金数。 12
x1A+x1D=10 x2A+x2C+x2D= 1.11 x1D x2C3 x3A +x3B+x3D =1.15 x1A+1.11 x2D x3B 4 x4A +x4D =1.15 x2A+1.11 x3D x5D =1.15 x3A+1.11 x4D xik 0, i =1,2,…,5; k =A,B,C,D; xik( i =1,2,…,5; k =A,B,C,D)为第i年初投k项目的 资金数.则: maxZ= 1.15x4A+1.40 x2C+1.25x3B+1.11x5D s.t. 13
以上问题的特点: 1.在人力、财力、资源给定条件下,如何合理安排任务,使得效益最高. 2.某项任务确定后,如何安排人力、财力、物力,使之最省. 即以上问题都是在一定条件下,求线性函数的最大值或最小值问题。这类问题称为线性规划LP (Linear Programming) 问题。 14
a11x1+ a12x2+…+ a1nxn(=, )b1, a21x1+ a22x2+…+ a2nxn(=, )b2, … … … am1x1+ am2x2+…+ amnxn(=, )bm, xj 0(j=1,…,n); 线性规划问题的一般形式 max(min)Z=c1x1+ c2x2+…+cnxn s.t. 或 15
三、线性规划问题的求解方法 二元线性规划问题的图解法 线性规划问题的理论解法 线性规划问题的MATLAB软件解法 16
求解线性规划的MATLAB命令 x=linprog(f, A, b): 求解 min z = f’x,Ax ≤ b x=linprog(f, A, b, Aeq, beq): 求解: min z = f’x, Ax ≤ b, Aeqx = beq; x=linprog(f, A, b, Aeq, beq, lb, ub): 指定lb ≤ x ≤ ub; 若没有不等式约束,可用[ ]替代A和b, 若没有等式约束,可用[ ]替代Aeq和beq, 若某个xi下无界或上无界,可设定-inf或 inf; 用[x, Fval]代替上述命令行中的x,可得最优解处的函数值Fval。 17
x1 + 2x2 30, 3x1+ 2x2 60, 2x2 24, 例1、 min Z= -40x1-50x2 s.t. 解:程序如下 c=[-40,-50]; a=[1,2;3,2;0,2]; b=[30;60;24]; x=linprog(c,a,b) z=c*x 18
x1+x2 5, -6x1 10, -1x2 4; min Z= 4x1+3x2 例2: s.t. 解: % lp2.m % c=[4,3];a=[1,1];b=[5]; vlb=[-6;-1];%lower bound of vectorx % vub=[10;4]; % upper bound of vector x % x=linprog(c,a,b,vlb,vub) z=c*x 19
x1+x2+x3 7, -x1+x2-x3-2, x1, x2,x30; min Z = -x1+2x2–3x3 例3: s.t. % lp3.m % c=[-1,2,-3];a=[1,1,1;-1,1,-1]; b=[7;-2]; vlb=[0;0;0];% lower bound of vector x % vub=[]; % upper bound of vector x % x=linprg(c,a,b,vlb,vub) z=c*x 解: 20
例4: minZ= 2x1 + x2+3x3+2x4 +2x5 +4x6+3x7 +4x8 +2x9 x1+x4+x7= 40, x2+x5+x8=15, x3 +x6+x9=35, x1 +x2+x350, x4+x5+x630, x7+x8+x910, xi 0, i =1,2,…,9; s.t. 21
解: % lp4.m % c=[2,1,3,2,2,4,3,4,2]; b=[40;15;35];beq=[50;30;10]; a(1,:)=[1,0,0,1,0,0,1,0,0]; a(2,:)=[0,1,0,0,1,0,0,1,0]; a(3,:)=[0,0,1,0,0,1,0,0,1]; aeq(1,:)=[1,1,1,0,0,0,0,0,0]; aeq(2,:)=[0,0,0,1,1,1,0,0,0]; aeq(3,:)=[0,0,0,0,0,0,1,1,1]; vlb=zeros(9,1); % lower bound of vector x % vub=[]; % upper bound of vector x % x=linprog(c,a,b,aeq,beq,vlb,vub) z=c*x 22
综合实例- 投资的收益和风险 市场上有n种资产Si (i=1,2,…,n)可以选择,现用数额为M的相当大的资金作一个时期的投资。财务人员分析估算出这一时期内购买Si的平均收益率为ri ,风险损失率为qi , 投资越分散,总的风险越小,总体风险可用投资的Si中最大的一个风险来度量。 购买Si时要付交易费,费率pi(不买无须付费).当购买额不超过给定值ui时,交易费按购买ui计算.另外,假定同期银行存款利率是r0 ,既无交易费又无风险。( r0=5%) 已知n=4时的相关数据如下:
试给该公司设计一种投资组合方案,即用给定达到资金M,有选择地购买若干种资产或存银行生息,使净收益尽可能大,使总体风险尽可能小。试给该公司设计一种投资组合方案,即用给定达到资金M,有选择地购买若干种资产或存银行生息,使净收益尽可能大,使总体风险尽可能小。
基本假设 1.投资数额M相当大,为了便于计算,假设M=1; 2.投资越分散,总的风险越小; 3.总体风险Si 用投资项目中最大的一个风险来度量; 4.n种资产 Si 之间是相互独立的; 5.在投资的这一时期内,ri , pi , qi , r0为定值,不受意外因素影响; 6.净收益和总体风险只受ri , pi , qi影响,不受其他因素干扰。
符号规定 • Si ——第i种投资项目,如股票,债券 • ri ,pi ,qi ——分别为Si的平均收益率,风险损失率,交易费率 • ui ——Si的交易定额, • r0 ——同期银行利率 • xi ——投资项目Si的资金, • a——投资风险度 • Q——总体收益, • ∆Q——总体收益的增量
模型的建立与分析 1.总体风险用所投资的Si中最大的一个风险来衡量,即max{ qixi|i=1,2,…n} 2.购买Si所付交易费是一个分段函数,即 • pixi xi>ui • 交易费 = • piui xi≤ui • 而题目所给定的定值ui(单位:元)相对总投资M很小, piui更小,可以忽略不计,这样购买Si的净收益为(ri-pi)xi
模型的建立与分析 建立模型 净收益尽可能大 总体风险尽可能小 多目标规划问题
模型转化 方法一:固定风险水平,优化收益 在实际投资中,投资者承受风险的程度不一样,若给定风险一个界限a,使最大的一个风险 qi xi / M≤a,可找到相应的投资方案。 模型一 线性规划模型
模型转化 方法二:固定盈利水平,极小化风险 若投资者希望总盈利至少达到水平k以上,在风险最小的情况下寻找相应的投资组合。 模型二 线性规划模型
模型转化---方法3线性加权 投资者在权衡资产风险和预期收益两方面时,希望选择一个令自己满意的投资组合。因此对风险、收益赋予权重s(0<s≤1),s称为投资偏好系数. 模型三 线性规划模型
模型一的求解 将具体数据代入,模型一如下: 由于a是任意给定的风险度,到底怎样给定没有一个准则,不同的投资者有不同的风险度。我们从a=0开始,以步长△a=0.001进行循环搜索,编制程序如下:
a=0; while(1.1-a)>1 c=[-0.05 -0.27 -0.19 -0.185 -0.185]; Aeq=[1 1.01 1.02 1.045 1.065]; beq=[1]; A=[0 0.025 0 0 0;0 0 0.015 0 0;0 0 0 0.055 0;0 0 0 0 0.026]; b=[a;a;a;a]; vlb=[0,0,0,0,0];vub=[]; [x,val]=linprog(c,A,b,Aeq,beq,vlb,vub); a x=x' Q=-val plot(a,Q,'.'),axis([0 0.1 0 0.5]),hold on a=a+0.001; end xlabel('a'),ylabel('Q')
模型一结果分析 1.风险大,收益也大。 2.当投资越分散时,投资者承担的风险越小,这与题意一致。即: 冒险的投资者会出现集中投资的情况,保守的投资者则尽量分散投资。 3.曲线上的任一点都表示该风险水平的最大可能收益和该收益要求的最小风险。对于不同风险的承受能力,选择该风险水平下的最优投资组合。
4.在a=0.006附近有一个转折点,在这一点左边,风险增加很少时,利润增长很快。在这一点右边,风险增加很大时,利润增长很缓慢,所以对于风险和收益没有特殊偏好的投资者来说,应该选择曲线的拐点作为最优投资组合,4.在a=0.006附近有一个转折点,在这一点左边,风险增加很少时,利润增长很快。在这一点右边,风险增加很大时,利润增长很缓慢,所以对于风险和收益没有特殊偏好的投资者来说,应该选择曲线的拐点作为最优投资组合, 大约是a*=0.6%,Q*=20% ,此时风险度为 0.0060 收益为 0.2019,所对应投资方案为: x0 x1 x2 x3 x4 0 0.2400 0.4000 0.1091 0.2212
Ax=b (1) x0 (2) maxZ=cx (3) 线性规划问题的图解法 1、两个概念 定义1:满足约束(1)、(2)的x=(x1 ,… , xn)T称为LP问题的可行解,全部可行解的集合称为可行域。 定义2:满足(3)的可行解称为LP问题的最优解. 23
x1 + 2x2 30, 3x1+ 2x2 60, 2x2 24, x1,x2 0; 2、二元线性规划问题的图解法 max Z= 40x1+50x2 例1: s.t. 24
x2 30 3x1+2x2=60 20 与坐标轴交点: 2x2=24 B A (0,15) (30,0) 10 C x1+2x2= 30 D x1 0 10 20 30 (1)、确定可行域 解: x10; x1 =0 (纵) x20; x2=0 (横) x1+2x2 30 x1+2x2=30 3x1+2x260 3x1+2x2=60 (0,30), (20,0) 2x2=24 2x224
x2 30 3x1+2x2=60 x1+2x2=30 3x1+2x2=60 20 C点: 2x2=24 B A 10 C x1+2x2= 30 D x1 0 10 20 30 34 (2)、求最优解 Z=40x1+50x2 0=40x1+50x2 x* = (15,7.5) Zmax =975 Z=975 Z=0
x2 x1+2x2 30, 3x1+2x2 60, 2x2 24, x1 , x2 0; 30 3x1+2x2=60 20 2x2=24 B A 10 C x1+2x2= 30 D x1 0 10 20 30 例2:求解 35 maxZ=40x1+ 80x2 s.t. 最优解:BC线段 B点 : x(1)=(6,12)' C点: x(2)=(15,7.5)' Z=1200 maxZ=1200 Z=0 (0 1) BC线段:
x2 -x1 -x2 1, x1 , x2 0; -x1 -x2 =1 0 -1 x1 -1 例3、max Z=3x1+2x2 s.t. 可行域无解. 即无可行解. 37
线性规划问题的理论解法 1、 线性规划问题的标准形式 A称为约束矩阵. 21
2.化一般线性规划问题为标准形 (1)约束条件的转换: 称为松弛变量或剩余变量 22
x1 + 2x2 30, 3x1+ 2x2 60, 2x2 24, x1,x20; x1+2x2+x3=30, 3x1+2x2+x4=60, 2x2+ +x5=24, x1,…, x50; 例1: s.t. max Z= 40x1+50x2 maxZ=40x1+ 50x2+0·x3 +0·x4+0·x5 s.t. 其中x3,x4, x5为松弛变量 。 25
4x1 + 6x2 + x3+2x412, x1 + x2 +7x3+5x414, 2x2 + x3+3x4 8, xi 0 (i =1,…,4); 4x1 + 6x2 + x3+2x4-x5=12, x1 + x2 +7x3+5x4-x6=14, 2x2 + x3+3x4–x7= 8, xi 0 (i =1,2,…,7); minZ=2x1 +5x2 +6x3+8x4 例2: s.t. minZ=2x1 +5x2 +6x3+8x4+0x5 +0x6 +0x7 s.t. 其中x5,x6, x7为剩余变量 。 26
3x1+2x2 8, x1–4x2 14, x20, x1为自由变量; (1) 3 x1' – 3x1 " +2x2 8, x1'– x1" – 4x2 14, x1' , x1" , x20; (2) (2)、变量 例3: 令:x1= x1'- x1" (1) 27
(2)变量转换: 23
x1+x2 5, -6x1 10, x20; (3) -6+6 x1+6 10+6 易知: x1'+x2 11, x1' 16, x1' , x20; (4) 例4: 令:x1' = x1+6,则0 x1'16 (3) 28