资源描述
本科实验报告课程名称:决策支持系统课程编号:07010192学生姓名:学号:学院:信息科学技术学院系:数学系专业:信息管理与信息系统指导教师:谭满春教师单位:数学系开 课 时 间: 2014 2015学年度第 1学期暨南大学教务处2014 年 12 月 1 日决策支持系统课程实验项目目录学生姓名:林培纯 学号:2012051378序号实验项目 编号实验项目名称*实验项 目类型成绩指导教师1基金使用模型与方法验证性谭满春2按揭购房的利率设计验证性谭满春3生产计划中的产量问题综合性谭满春4最佳广告编排方案设计验证性谭满春5供应与选址决策问题综合性谭满春6商品的需求量预测与决策综合性谭满春7决策支持系统分析与设计综合性谭满春89101112131415161718*实验项目类型:演示性、验证性、综合性、设计性实验。*此表由学生按顺序填写。暨南大学本科实验报告专用纸课程名称决策支持系统成绩评定实验项目名称基金的使用模型与计划指导教师 谭满春实验项目编号实验项目类型验证性实验地点南海楼209 学生姓名学号学院 信息科学技术学院 系 数学系 专业 信息管理与信息系统 实验时间2014年11月3日上午11月3日下午温度_C湿度【实验目的】1. 介绍与线性方程组有关的基本概念。2. 了解线性方程组的消去法、迭代法等基本求解方法。3. 学习 MATLAB 软件中有关线性方程组运算的命令。【实验内容】某校基金会有一笔数额为M元的基金,打算将其存入银行,当前银行存款及各期的利 率见下表,取款政策参考银行的现行政策。校基金会计划在N年内每年用部分本息奖励优秀师生,要求每年的奖金额大致相同,且 在N年末仍保留原基金数额。校基金会希望获得最佳的基金使用计划,以提高每年的奖金额。 请你帮助校基金会在上述情况下设计基金存款使用方案,并对M=5000万元,n=10年给出 具体结果。银行存款随税后年利率活期0.792半年期1.664一年期1.800二年期1.944三年期2.160五年期2.304实验方法与步骤】1问题的分析问题本身含有一些不确定的因素,比如说基金到位的时间,每年奖学金发放的日期,银 行利率的变动情况等。为使问题简化,先做如下假设:假设 1:该笔资金于年底一次性到位,自下年起每年年底一次性发放的奖金,每年发放 的奖金额尽可能的相同;假设2:银行存款利率执行现行利率标准,且在n年内不发生变化。将总额M分成11份,M.(i 1,2,10)为用作奖学金的钱,这些钱经过存入银行加息的i过程,到第/年取出用作第/年的奖学金钱;M伯为用作奖池的钱,即经过10年的银行加暨南大学本科实验报告专用纸(附页)过程,又变成原来的总额M。设M (i二1,2,9)占总额的比例为x (i二1,2,9) , M10i i 10与M11加起来占总额比例为x10,则有i=1对于存款方案,可知,能一次存时间长点,则利息就更多,所以应该尽量选足够多的五 年期,其次再到三年期,再到二年期,最后才考虑一年期,而半年期和活期可以忽略。所以 对于用作第/年奖学金钱的 旳,它所存的五年期的次数为m(/)=fix(/5),三年期的次数为 k(i)=fix(rem(i,5)/3), 二年期 的 次数为 l(i)=fix(rem(rem(i,5),3)/2), 一年期 的 次数为 t(/)=/-5m(/)-3k(/)-2/(/)o由于每年的奖学金额度都是相同的,所以我们有:d (1)Mx = d (5)m(i) d (3)k (i) d (2)l (i) d (1)t (i) Mx , i = 2,3, ,91id(1)Mx = d(5)2Mx - M1 10这样就联立了一个十元线性方程组,将后面九个式子中的M消去,可得增广矩阵为11111d(1)-d(2)0d(1)0-d(3)111111000000d (1)00-d (5)d (3)d (1)00(d (1)00d (5)2 -1 丿用 MATLAB 编入代码计算: d1=1+1.8/100; d2=1+2*1.944/100; d3=1+3*2.16/100; d5=1+5*2.304/100; n=10;M=5000;for j=1:n a(1,j)=1;endfor i=2:n a(i,1)=1+1.8/100;endfor i=2:n%构造系数矩阵 a(i,j)m(i)=fix(i/5); k(i)=fix(rem(i,5)/3);l(i)=fix(rem(rem(i,5),3)/2);t(i)=i-5*m(i)-3*k(i)-2*l(i);a(i,i)=-d5Am(i)*d3Ak(i)*d2Al(i)*d1At(i);endb(1,:)=1;b(n,:)=-1;x=ab;%用常数向量除以系数矩阵的方法求解线性方程组for i=1:neachyear(i)=M*x(i);endrichaward=d1*M*x(1);最终得到结果:richaward =109.8169【结果分析】每年大约发放109.8万元的奖学金,同时在M=5000万元,n=10年的情形下不同年限 基金的存款方式如下表(单位:万元):i12345678910Mxi107.9105.7103.1101 398596.794.892.590.84108.7用于第10年发放奖金和剩余基金的总额为4108.7万元,经过10年的利息累积后,将增长 为大约5109.8万元。109.8万元用于当年发放,剩余5000万。我们可以看到,基金的使用计划具有周期性,当 n 年到期,便可按原方案进入下一周 期;如果利率或政策有变,我们只需在下一周期开始前,对利率等做些改变或引入其他参数 整体基金投资方案仍可以沿用。教师评语暨南大学本科实验报告专用纸课程名称决策支持系统成绩评定实验项目名称按揭购房的利率设计 指导教师 谭满春 实验项目编号实验项目类型验证性实验地点南海楼209 学生姓名学号学院 信息科学技术学院 系 数学系 专业 信息管理与信息系统 实验时间2014年11月_8日 上午11月8日下午 温度_c湿度 【实验目的】1. 介绍与非线性方程组有关的基本概念。2. 了解非线性方程组的图解法、二分法、迭代法等基本求解方法3. 学习 MATLAB 的有关命令【实验内容】计算一下贷款年利率。建筑面积总价30%首付70%按揭月还款85.98m236万10.8 万30年1436 元【实验方法与步骤】设乂上为第k个月的欠款数,a为月还款数,r为月利率。可得x 二(1+ r) x ak+1k/ 亠x 二(1+ r)x 一 a 二(1+ r)2x 一 (1+ r)a 一 a 二.那么有kk 1k 2=x (1+ r)k 一a(1+ r)k 一 1/ r0根据 a=0.1436, x0=25.2, x360=0 得到25.2(1+ r )360 0.1436(1+ r)36o 1/r 二 0这是一个月利率r的高次代数方程,从中解得r,年利率R=12r。相应的MATLAB代码: r=fzero(25.2 *( 1+x厂360-(l+x厂360-l)/x *0.1436,0.0198/12) R=12*rR =0.0553得到年利率为 5.53%。【结果分析】本例是公积金和商业性贷款的平均利率,所得解与当时的实寄情况相符。教师评语暨南大学本科实验报告专用纸课程名称决策支持系统成绩评定实验项目名称 生产计划中的产量问题指导教师谭满春实验项目编号实验项目类型综合性实验地点南海楼209 学生姓名学号学院 信息科学技术学院 系 数学系 专业 信息管理与信息系统 实验时间2014年11月上日上午11月12日下午 温度C湿度【实验目的】 1介绍无约束最优化方法的一些基本概念。2了解几种常见的无约束优化问题的求解方法,如迭代算法、最速下降法(梯 度法)、牛顿法(Newton)、拟牛顿法。3.学习掌握用MATLAB优化工具箱中的命令来求解无约束优化问题。 【实验内容】某公司生产一种产品有甲、乙两个品牌,试讨论产销平衡下的最大利润。所谓产销平衡 指公司的产量等于市场上的销量。利润既取决于销量和单件价格,也依赖于产量和单件成本。按照市场规律,甲种品牌的价格P固然会随其销量x的增长而降低;同时乙品牌销量x的1 1 2 增长也会使甲的价格有稍微下降,根据实际情况,可以确定价格与销量成线性关系,即p =300-2.35x -0.09x1 1 2乙的价格 p 2 遵循同样的规律,有p =480-0.14x -2.98x2 1 2 甲品牌的成本会随着其产量的增长而降低,按实际情况可假设为负指数关系,即有q =38 e -0-023 x1 + 116乙品牌的成本q遵循同样的规律,有2q =94e-0.018x21452 试确定甲、乙两种品牌的产量,使公司获得的总利润最大。【实验方法与步骤】1. MATLAB优化工具箱中解无约束问题的命令和参数options的基本用法 下面用例题来予以说明例 1 求解min f (x) = ex 5 x , 1W x W2输入命令: x=fmin( exp(x) - 5*x , 1,2 ) , f=exp( x ) - 5*xx =1.6094f =-3.0472同时,该问题可以用 fminbnd 求解,得到的解答一样输入命令: x , fval=fminbnd( exp( x ) - 5*x , 1 , 2 )x =1.6094fval =-3.0472例2用拟牛顿法的DFP公式求解min f (x) = 4x2 + x2 x3X,初值为(1, 2),l 2 l 2要求精度为le 7,给出函数计算次数以及函数值 首先建立M-文件,文件名取函数名fun.m function f = fun( x )f = 4 * x( 1 )A2 + x( 2 )A2 - x( 1 )A3 * x( 2 )输入命令:%设置自变量要求的精度%设置函数所要求的精度%搜索算法用拟牛顿法的DFP公式求解%返回参数 options 的值给向量 opt x0=1, 2; opt( 2 )=1e-6; opt( 3 )=1e-6; opt( 6 )=1; x, opt=fminu( fun , x0, opt);可得到结果x =1.0e-008 * -0.34930.7566参数options的值返回给向量opt,全部元素略。 n=opt( 10 );%函数计算次数赋值给nn =35 y=opt( 8 );%在极值点处函数值赋值给yy =1.0606e-0162问题的分析与求解由题设可知,甲品牌产品单件获利为 p q ,乙品牌产品单件获利为 p q ,由产 1 1 2 2 销平衡原理,所有产品的销量即为产量,则甲、乙两种产品总获利为z (x , x ) =( p q ) x + ( p q ) x1 2 1 1 1 2 2 2容易看出,原问题实际上转化为求二元函数z(x ,x )的极大值,为用MATLAB优化工 12 具箱中的fminunc求解,需将其转化为求函数y(x ,x )= 一乙(x ,x )的最小值。1 2 1 2为确定初始值,先忽略成本,并令P价格中x项的较小系数0.09和p中x项较小的 1 2 2 1 系数0.14等于零(因为它们对价格的作用比较微弱,暂时可忽略不计),则确定初值问题转 化为求z(x ,x ) =(3002.35x ) x +(4802.98x ) x1 2 1 1 2300480的极值,很容易可以求得x =63.83, x = =80.54,我们用它作为原12 x 2.3522 x 2.98问题的初始解。首先建立M-文件,文件名取函数名funl.m function y = fun1( x )pl = 300 - 2.35 * x( l ) - 0.09 * x( 2 );ql = 38 * exp( - 0.023 * x( l ) ) + ll6; p2 = 480 - 0.l4 * x( l ) - 2.98 * x( 2 ); q2 = 94 * exp( - 0.0l8 * x( 2 ) )+l45;y = - ( pl - ql ) * x( l ) - ( p2 - q2 ) * x( 2 ) 输入命令: x0=63.83; 80.54; x, fval=fminunc( funl , x0); 可得到结果:x =35.848254.7380 fval = -1.0015e+004甲种品牌产量为35.8482,乙种品牌产量为54.7380,最大利润和为1.0015e+004。用fminu 可得到同样结果,同时根据参数options可观察到函数采用拟牛顿的DFP公式并迭代计算了 20 次。教师评语暨南大学本科实验报告专用纸课程名称决策支持系统成绩评定实验项目名称 最佳广告编排方案设计指导教师 谭满春实验项目编号实验项目类型验证性实验地点南海楼209 学生姓名学号学院 信息科学技术学院 系 数学系 专业 信息管理与信息系统 实验时间2014年11月_19_日上午11月19_日下午 温度_ C湿度 【实验目的】1了解线性规划问题及其可行解、基本解、最优解的概念。 2通过对实际应用问题的分析,初步掌握建立线性规划模型的基本步骤和方法。3. 学习掌握MATLAB软件求解有关线性规划的命令。【实验内容】一家广告公司想在电视、广播上做公司的宣传广告,其目的是争取尽可能多地招徕顾客。表是公司进行市场调研的结果:电视网络媒体杂志白天最佳时段每次做广告费用(千兀)45862512受每次广告影响的顾客数(千人)350880430180受每次广告影响的女顾客数(千人)260450160100这家公司希望总广告费用不超过 750(千元),同时还要求:(1)受广告影响的妇女超 过 200 万;(2)电视广告的费用不超过450(千元);(3)电视广告白天至少播出4 次,最 佳时段至少播出2次;(4)通过网络媒体、杂志做的广告要重复5到 8次。【实验方法与步骤】建立线性规划模型有三个基本步骤: 第一步,找出待定的未知变量(决策变量),并用代数符号来表示它们; 第二步,找出问题的所有限制或约束条件,写出未知变量的线性方程或线性不等式; 第三步,找到模型的目标,写成决策变量的线性函数,以便求其最大或最小值。1问题的分析与模型的建立首先,确定决策变量,要求如何安排白天电视、最佳时段电视、网络媒体、杂志广告的次数,用符号表示,分别设定为x , x , x , x ; 1234其次,确定所有的约束条件,广告总费用不超过750(千元),则有45x +86x +25x +12x 750 1234 受广告影响的女顾客数不少于200 万,则有260x +450 x +160 x +100x 20001234电视广告费用不超过450(千元),且白天至少播4次,最佳时段至少播出2 次,则有45x +86x W450 , x 三4 , x 三21 2 1 2 由于网络媒体和杂志广告要重复5到8次,则有5W x W8 ,5W x W834 最后,确定问题的目标函数,由题意知确定广告编排方案,使得受各种广告影响的潜在顾客总数:z =350x +880x +430x +180x最多。故该问题完整的线性规划模型如下: 1234max z =350x +880x +430x +180x1234s. t.45 x +86 x +25 x +12 x 7501234260x 450x 160x 100x 2000123445x +86x +0x +0x 45012340x +0x + x +0x 812340x +0x +0x + x c=-350 -880 -430 -180;%取一c将目标函数标准化 a=45 86 25 12; -260 -450 -160 -100; 45 86 0 0; 0 0 1 0; 0 0 0 1; b=750; -2000; 450; 8; 8; lb=4; 2; 5; 5; x , Fval=linprog(c, a, b, , lb, )%无等式约束条件和x的上界,取表缺省Optimization terminated successfully.x =4.00003.13958.00008.0000Fval =-9.0428e+003【结果分析】引例问题的目标函数是求受广告影响的最多顾客人数,而MATLAB命令linprog针对线 性规划模型(5)求最小值,那么我们取一c ,将目标函数化成标准形式,在求得一z =-cx 的最小值后,我们即可得到Z的最大值,根据约束条件,受广告影响的最多潜在顾客人数为 9042800 人。在这里,用命令lp可以求得相同的结果。教师评语暨南大学本科实验报告专用纸课程名称决策支持系统成绩评定实验项目名称 供应与选址决策问题指导教师 谭满春实验项目编号实验项目类型综合性实验地点南海楼209 学生姓名学号学院信息科学技术学院系 数学系 专业 信息管理与信息系统实验时间2014年11月_23_日上午11月23日下午 温度C湿度【实验目的】1了解非线性规划问题的基本概念和求解方法。 2通过对应用问题的分析、建模、求解,加深对非线性规划理论的理解。3.学习掌握MATLAB有关非线性规划求解的命令。【实验内容】某建筑公司有6个建筑工地要开工,每个工地的位置(用平面坐标a , b表示,距离单 位:千米)及水泥日用量d (吨)由表1给出。目前有两个废旧的料场位于(5,1),(2,7) 处,现需要重新建设A、B两个料场,日储存量各为20吨。试问料场A、B各设在何处, 并且如何制定每天的原料供应计划,使得从 A、 B 两料场分别向各工地运送水泥总的吨千 米数最小。表1工地的位置(a,b )及各工地水泥日用量位置及用量123456横坐标a1.258.750.55.7537.25纵坐标b1.250.754.7556.57.75d (吨)3547611实验方法与步骤】1问题的分析记工地的位置为(a , b ),水泥日用量为d , i=1,,6;料场位置为(x , y ), i iij j日储量为e,j =1,2;从料场j向工地i的运送量为c。这个优化问题的目标函数(总 jij吨千米数)可表为min f =衣 c (x - a )2 + (y - b )2(6)八 j ij ij=1 i=1各工地的日用量必须满足,所以有f c = d, i =1,,6(7)ij i各料场的运送量不能超过日储量,所以f c We,j =1,2(8)ijji=1则该问题的决策变量为料场位置x,y和A、B两料场往各工地的运送量c,问题归结 jjij 为在约束条件(7)、(8)及决策变量为非负的情况下求料场位置(x , y )和运送量c使j j ij(6)的总吨千米数最小。由于目标函数f对x,y是非线性的,所以在求新建料场位置 和用料时是非线性规划模型。2. MATLAB计算机求解 首先定义非线性规划的 M 文件函数:function f,g=liaoch(x)a=1.25, 8.75, 0.5, 5.75, 3, 7.25;b=1.25, 0.75, 4.75, 5, 6.5, 7.75;d=3, 5, 4, 7, 6, 11;e=20, 20;f1=0;% fl是料场A到各工地的吨千米总数,其中x(l)至x(6)为料场A往各工地的运送量, (x(13), x(14)为 A 的位置for i=l:6s(i)=sqrt(x(13)-a(i)人2+(x(14)-b(i)人2); f1=s(i)*x(i)+f1;endf2=0;% f2是料场B到各工地的吨千米总数,其中x(7)至x(12)为料场B往各工地的运送量, (x(15), x(16)为 B 的位置for i=7:12s(i)=sqrt(x(15)-a(i-6)A2+(x(16)-b(i-6)A2); f2=s(i)*x(i)+f2;endf=f1+f2;for i=1:6 g(i)=x(i)+x(i+6)-d(i);% 各工地用量必须满足endg(7)=sum(x(1:6)-e(1);% 各料场运送量不超过日储量 g(8)=sum(x(7:12)-e(2);然后,在MATLAB命令框里输入求解命令: x0=zeros(1,12) 5 1 2 7;% 取零为往各工地运送量的初值,取废弃料场位置为新料 场的初值 vlb=zeros(1,16);% 求解下界为零 op(13)=6;op(14)=2000;% 确定等式约定的数目和命令求解的最大迭代次数 x,op=constr(liaoch,x0,op,vl), y=op(8)将结果作成列表的形式为工地i123456新料场位置ci1354710(5.6959,4.9284)ci 20000511(7.2500,7.7500)最小的总吨千米数为89.8835。【结果分析】在命令框输入命令 text(1.25,1.25,+3); text(8.75,0.75,+5); text(0.5,4.75,+4) text(5.75,5,+7); text(3,6.5,+6); text(7.25,7.75,+11) text(5.6959,4.9284,A) text(7.2500,7.7500,B)图9.1画出了工地、新料场的位置(+为工地,旁边的数字为用量,A、B分别表示新料 场的位置,可以看出,新料场应建在两个用量最大的工地旁边,这个结果预先估计到了吗? 所求得的解是全局最优解吗?实际上改变决策变量的初始值,那么给各工地的供应量和新料 场的位置都要发生变化,不妨试试。【教师评语】暨南大学本科实验报告专用纸课程名称决策支持系统成绩评定实验项目名称 商品的需求量预测与决策 指导教师 谭满春 实验项目编号实验项目类型综合性实验地点南海楼209 学生姓名学号学院信息科学技术学院系 数学系 专业 信息管理与信息系统实验时间2014年12月丄日上午12月1日下午 温度_C湿度 【实验目的】1了解回归分析的基本原理和方法。 2学习用回归分析的方法解决问题,初步掌握对变量进行预测和控制。3.学习掌握用MATLAB命令求解回归分析问题。【实验内容】现有某种商品的需求量、消费者的平均收入、商品价格的统计数据如表1 所示,试用所 提供的数据预测消费者平均收入为1000、商品价格为6 时的商品需求量。需求量10075807050659010011060收入10006001200500300400130011001300300价格5766875439实验方法与步骤】1引例问题的分析求解 由问题提供的数据,我们可以初步判断,商品的需求量与消费者的平均收入和商品价格 之间存在某种相关关系,具体的函数关系式我们还不清楚。输入三组数据,我们先独立分析 商品需求量与消费者平均收入,商品需求量与价格之间存在何种关系: x1=1000 600 1200 500 300 400 1300 1100 1300 300;% 消费者的平均收入 x2=5 7 6 6 8 7 5 4 3 9;% 商品价格 y=100 75 80 70 50 65 90 100 110 60;% 商品的需求量 plot(x1,y,+)% 以消费者的平均收入和商品的需求量所对应的离散点作图由上面两图我们看到商品的需求量随着消费者平均收入增加呈线性递增的趋势,而随着 商品的价格增加呈线性递减趋势,这样我们可初步判断商品需求量与消费者平均收入和商品 价格之间存在某种线性相关的关系。接下来用多元线性回归来进行分析检验: x=ones(10,1) x1 x2; b,bint,r,rint,stats=regress(y,x)b =111.6918 0.0143 -7.1882bint =56.0503 167.3334 -0.0120 0.0406 -13.2306 -1.1458stats =0.8944 29.6533 0.0004可知回归系数0 0 = 111.6918, 0 =0.0143, 0 2 =-7.1882,它们的置信区间为bint,均 包含了回归系数的估计值,stats第一个分量为0.8944,第三个分量p=0.0004V0.05,拒绝 H0,说明回归方程系数不为0,线性回归方程模型y =111.69180.0143x 7.1882x(12)12 成立。继续对残差进行分析,作残差图: rcoplot(r,rint)从残差图可以看出,大多数数据的残差离零点较近,且残差的置信区间全部包含零点 这进一步说明回归模型(12)能近似地符合原始数据。现利用线性回归方程对引例问题的要求作出预测,x =1000, x =612 z=111.6918+0.0143*1000-7.1882*6z =82.8626 得到结果,当消费者平均收入为1000、商品价格为6时的商品需求量大约为82.8626。【结果分析】利用线性回归分析所得结果,我们看到stats第一个分量为0.8944,它并不十分接近1, 且部分残差离零点较远,这说明回归模型还存在缺陷,几个随机变量之间的线性关系有待改 进,我们不妨用多元二项式回归来试验: x=x1,x2; rstool(x,y,purequadratic)j 400600.8001000120045_6_7_8得到一交互式画面,左图是x2固定时曲线y(xl)及置信区间,右图是x1固定时曲线y(x2) 及置信区间。在xl, x2指示框中分别输入1000和6,即预测到平均收入为1000、价格为6 时商品需求量为88.4791。在下拉列表框Export中选择“all”,把beta (回归系数)、rmse (剩 余标准差)和residuals (残差)传送到MATLAB工作区,在命令框中输入 beta,rmse,residuals即可得 beta、 rmse、 residuals 的数值beta =rmse =4.5362在 Model 下拉列表菜单对 linear、purequadratic、interaction、quadratic4 模型比较剩余标 准差,其中purequadratic型的剩余标准差4.5362相比其它3个模型的剩余标准差最接近于0, 故此回归模型的显著性较好。我们用纯二次回归模型所得的残差与前面线性回归模型所得的 残差列表进行比较纯二次5.2724-0.7162-4.5158-1.9390-3.33153.45663.4843-3.4452-0.09761.8320线性9.95235.0477-5.7188-5.7109-8.4750-2.0929-4.33681.33441.28678.7133显然由二元纯二次多项式所得残差绝大多数要比由线性回归模型所得残差更接近零点由最小二乘法原理我们可以相信,改进后的回归模型y =110.5313+0.1464 x 26.5709 x 0.0001 x2 +1.8475 x21 2 1 2能够更好地近似原始数据。教师评语
展开阅读全文