决策支持系统报告要点

决策支持系统报告要点

ID:63915936

大小:521.03 KB

页数:40页

时间:2024-01-18

上传者:无敌小子
决策支持系统报告要点_第1页
决策支持系统报告要点_第2页
决策支持系统报告要点_第3页
决策支持系统报告要点_第4页
决策支持系统报告要点_第5页
决策支持系统报告要点_第6页
决策支持系统报告要点_第7页
决策支持系统报告要点_第8页
决策支持系统报告要点_第9页
决策支持系统报告要点_第10页
资源描述:

《决策支持系统报告要点》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

《决策支持系统》实验报告学期10-11学年第2学期专业地理信息系统班级0811学号0820209116姓名杨根勇任课教师王兆华苏州科技学院环境科学与工程学院23 实验一认识模型3实验二建立模型8实验三模型的人工求解11实验四程序模型14实验五模型表示与组合21实验六总控与DSS集成2423 实验一认识决策模型一、实验目的认识模型,区分模型的类别,明确模型的形式,加深理解模型的意义及对决策的作用。二、内容与要求创建运行环境运行程序模型样本、变量、输入、输出模型概念、类型、形式数学模型、程序模型三、方案设计(实验步骤)1.上网搜索或查看本实验参考资料第一部分和教材,找出模型概念、分类和表示形式。2.运行实验资源中的应用数学软件包。回答软件构成(模型集合,或非模型集合)写入实验结果3。运行程序的本质为模型,具表示形式是数学、算法、程序形式?是源程序,还是目标程序?其数据来源(数据库,数据仓库,人机对话输入)写入实验结果。基于此软件包,可以进行何种决策支持(模型决策,多模型辅助决策,自动组合模型决策)。体会模型对决策的重要性。3.阅读本实验参考材料第二部分。举例说明其中的样本、变量、输入、输出、数学模型、程序模型到实验结果5中。4.设计建模环境。了解SASMatlabLindo/LingoSPSSExcell的界面和功能,及对建模的作用。5.其它23 四、实验结果(结论)1.模型类别模型类别广义数学模型根据决策的合理性原理性模型系统学模型规划模型预测模型管理决策模型仿真模型计量经济模型理想模型行为模型直觉模型2.表水形式表示形式原理性模型定理、定律、公式系统学模型系统动力学、大系统理论、灰色理论、系统辨识、系统控制、最优控制和创造工程学等规划模型线性规划、非线性规划、动态规划、目标规划、更新理论和运输问题预测模型定性预测方法(特尔斐法-专家调查法、,情景分析法、主观概率法和对比法等);定量预测方法(趋势法、因素相关分析法(如回归法等)、平滑法等。)管理决策模型关键路线法(CPM、计划评审技术(PERT、风险评审技术(VERT和层次分析法(AHP等仿真模型蒙特卡罗法(概率统计)、KSIM模拟(多变量目标)和微观分析模拟(微观个体)等。计量经济模型经济同法、投入产出法、动态投入产出法、回归分析、可行性分析和价值工程等。3.软件构成该Mathcai软件由六个模型集合(图像显示、最优化方法、回归分析、常用统计方法、多元统计方法、线性代数计算)和两个非模型集合(关于、概述)构成,具体如下:一、模型集合:1、图像显示:(1)、统计数据的图像显示;(2)、数据的空间曲面图;(3)、平面散点图;(4)、空间散点图;(5)、三次样条插值;(6)、倒数距离加权插值;(7)、一元函数的平面曲线图;(8)、二元函数的空间曲面图;(9)、函数的等高线图;(10)、参数函数的平面曲线图;(11)、参数函数的空间曲线图;(12)、参数函数的空间曲面图。2、最优化方法:(1)、单纯形法求线性规划问题的解;(2)、一维搜索法求一元函数的最小值;(3)、POWELI&求多元函数的最小值;(4)、单纯形下山法求多元函数的最小值;(5)、变尺度法求多元函数的最小值;(6)、共腕梯度法求多元函数的最小值;(7)、图像法求多元函数的最小值。3、回归分析:(1)、按照输入的公式进行数据转换;(2)、一元线性回归;(3)、多元线性回归;(4)、多项式回归;(5)、广义线性回归;(6)、拟线性回归;(7)23 、非线性回归;(8)、逐步回归;(9)、主成分回归。4、常用统计方法:(1)、正态总体参数的假设检验和区间估计;(2)、单个总体分布的/2检验;(3)、正态分布的概率纸检验;(4)、联立表独立性的x2检验;(5)、方差分析;(6)、正交试验设计。5、多元统计方法:(1)主成分分析;(2)、典型相关分析;(3)、判别分析;(4)、聚类分析。6、线性代数计算:(1)、矩阵的基本运算;(2)、求行列式的值;(3)、矩阵的初等变换;(4)、矩阵的标准形分解;(5)、求向量集的最大无关子集;(6)、线性代数方程组的求解;(7)、矩阵的QR分解;(8)、实对称矩阵的特征值与特征向量;(9)、矩阵的奇异值分解;(10)、求矩阵的广义逆矩阵。二、非集合模型1、关于2、概述:(1)、软件系统概况介绍;(2)、软件系统的安装和使用;(3)、安装后硬盘上的文件夹结构;(4)、怎样脱离系统运行个别软件;(5)、怎样将说明文件打印出来;(6)、软件系统的邮购和升级;(7)、发生问题时的处理。1.程序的表现形式运行程序的本质为模型,具表示形式是程序形式2.数据来源其数据来源是通过人机对话输入实现的23 样本:6.762812592002.30105.159661.701012.00437.45783216204230966.573412.011012.004378651154.305092.70675.83872142801.90315.74663191801.90313.768812.571272.10386.067932502022.30543.776942.40203230756.364834.13329251726.75143186651.01295.8961143.958302.91915.8838B3.953302.51857.762673.40168222537.474682.40217233556.0852B2.90871.93953.751411.55341.53157368743.56215233245.657873.021722.23555.252762.B51092.03743.483531121362.13356726682.10701.84515.867863.402202.34246.3591002952762.44095.861733.501442.15845.252862.451S12257K变量:X1,X2及X311.276905.59574275395.254562.7172185735.876592.581782.25043.26465074711.85138.745232.52581.76345.059739.50116206455.872933.30295246985.458702.641152.06075.351992.601842.26482.674862.05118207194.381192851202.07924.861762451512.17905452881811482.17035.249721.84951.97773.6289913075187518.SB6886.404B326B406.556772.851532.18473477931481912.28106.540843.001232.08994.5731063.053112.49284.8861014.10398259995167772861582.19873.9821034.553102.49146.67746195124209346485401.211252.09696.459852.331982.29678.878723.203132.4955数学模型:LagY=a。+alW+a2X2+a3^3+MX4+W逐步回归法模型程序LogY=0.48876+0.06852X1+0.00925X2+0.00947X3+0.00193X4十名模型:结果:6.决策支持此软件包可以实现模型决策,多模型辅助决策,自动组合模型决策23 五、体会(收获)通过本实验的学习,我了解并掌握了模型的概念以及建模处理问题的必要性,以及在建模的工程中需要注意的一些问题,具体体会如下:1.模型的重要性模型便于观察和理解现实世界,模拟其演变。是研究自然和社会对象的基础。它的重要性有:(1)将模型并入信息系统软件;(2)为高层管理提供有用信息,以便支持那些相对而言结构化程度比较低的决策行为,如支持半结构化的决策活动;(3)提供给用户强有力、然而并不难掌握的与系统之间的人一机交互能力,即用户能够用较为简单的语言向系统咨询,并从系统得到科学的、有效的决策支持。2.我们因该仔细考虑建立模型过程的每一步鉴于模型的重要意义,我觉得建立模型过程的每一步都必须是明确和有计划的。分析人员可能认为,对一个具体的问题,时间是关键的,于是总急急忙忙地建立模型,这是错误的。必须强调的是,必须弄清与分析人员自身对应的管理人员是谁。通常,建立模型的过程应适当放慢,以保证管理人员能理解模型的基本原理。总之,分析人员只能在经过仔细考虑的情况下,尽可能快地建立模型,并且使建立模型过程尽量清晰,使管理人员能了解这一过程。3.建模时要面向问题模型是用来向决策人提供一种更有效地做出决策的手段。建立模型的人员应该经常习惯于问:“模型怎样才能帮助管理人员解决问题?”在建立模型时,分析人员可能发现问题变得比原来想的更复杂。这时,分析人员必须重新审议问题,并与管理人员一起核实这一审议。23 实验二数学模型、实验目的掌握数学模型及其构建方法、实验内容构建一个数学模型三、方案设计与要求1.参考本实验后附材料或教学演示,确定用于建模的决策问题。2.明确问题涉及的变量和逻辑关系,必要时用假设简化问题,设定变量符号。3.借用基本数学形式表达变量间的关系,需要时筛选变量,形成初步的模型形式。在无法进行严格的数学推导时,可以使用“不严格”的数学形式。理解模型的语义含义和功能。4.尽量使用实际资料检验数学结果,并用恰当的学科语言表达数学结果。5.确定最终的模型。绘制应用建模流程于实验结果1,完整的建模过程写在实验结果2,总结写入体会(收获)中。四、实验结果(结论)1.应用建模流程图2.建模过程23 下面以一个实例阐述建模的具体过程:例:某公司研制了两种新产品,即“玻璃门”和“铝框窗”,并准备生产这两种新产品。决策的进程一般分为4个步骤:(1)发现问题并形成决策目标,这是决策活动的起点;①新产品有什么优点?能否被消费者购买?这都需要进行分析。若新产品会增加成本,就需要进行成本分析;②公司的生产工厂能有多少时间生产新产品?每周能卖掉几个产品?这需要制定营销计划;③生产新产品时,在工厂有限的生产能力基础上使现生产一种产品,还是两个产品同时生产?同时生产对同时抢先市场有好处,为两种产品做组合广告,也会有更好的效果。(2)建立模型;寻找两种新产品的市场能力,那种组合能产生最大利润该问题属于线性规划模型问题。线性规划有固定的数学结构和问题求解方法,是结构化决策问题,但是将实际问题建立成合适的线性规划的数学结构模型,为此需要搜集以下信息:①每个工厂有多少生产能力生产新产品?②生产每一个产品每个工厂个需要多少生产能力?③每一产品的单位利润会有多少?这些数据只能得到估计值,特别是新产品的利润(产品还未出来就要估计它的利润),这是一个半结构化问题。进过调查和分析,有A、RC三个工厂同时生产该产品,生产能力如下:工厂生产该产品时间(时/周)工厂A4工厂B12工厂C18门工厂A1小时+工.厂C3小时窗工厂B2小时+工.厂C2小时设每周生产新门的数量为x,生产新窗的数量为y。则该问题的线性方程为:①利润:p=300x+500y②工厂A约束:x<4工厂B约束:2y<12工厂C约束:3x+2y<18(x>0,y>0)⑶最优决策,对各种结局的价值所作的定量估计;通过对该决策问题的线性规划模型求解,即求在生产能力允许的范围条件下,达到最大利润的最优解。利用线性规划模型的求解方案可得到最优解是:x=2,y=6,p=360线性规划模型为决策者提供了最优决策。它是公司领导层是否生产新产品的决策支持。⑷综合分析各方面信息,以最后决定方案的取舍,有时还要对方案作灵敏度分析,研究原始数据发生变化时对最优解的影响,决定对方案有较大影响的参量范围。如WhatIf分析23 由于线性规划模型的参数均是估计值,这样计算出的最优解也是估计值,所以要对如下问题进行What-If分析,即WhatIf实验。①新产品中有一个产品的单位利润的估计值不准确时,最优解怎样变化?②两个产品的单位利润的估计值都不准确时,又将会怎样?③其中一个工厂每周可用于生产新产品的时间改变后,会对结果产生怎样的影响?④如果3个工厂每周可用于生产新产品的时间改变后,又会对结果产生怎样的影响?这些问题对决策仍很重要。解决这些问题是利用优化模型进一步的决策支持。决策往往不可能一次完成,而是一个迭代过程。决策可以借助于计算机决策支持系统来完成,即用计算机来辅助确定目标、拟定方案、分析评价以及模拟验证等工作。在此过程中,可用人机交互方式,由决策人员提供各种不同方案的参量并选择方案。五、体会(收获)通过本实验的学习,我掌握了以下内容:一、建模过程中要注意的问题1.明确研究目标,力图从实际问题中归纳出所采用的假设和解题线索;2.用假设简化问题,在实际与数学简化之间选择恰当的平衡点,这是建模成功与否的关键,体现了建模工作的想象力和创造力;3.进行正确的推理,在无法进行严格的数学推导时,可以使用“不严格”的数学,代之以对问题的分析,归纳,类比,猜测,尝试,事后检验;4.尽量使用实际资料检验数学结果,并用恰当的学科语言表达数学结果。5.在建模中,数学决不仅仅是工具,要从所作的数学推导和所得到的数学结论中指出所包含的更一般的、更深刻的内在规律。数学建模绝不仅仅以应用数学解决一个实际问题为目标,我们更希望揭示基本自然规律,产生新的数学思想和方法。二、怎样学习建模1.要会“翻译”。扩充知识面,既能将实际问题用数学语言表达,又能将数学结论用“常人”能懂得的语言表达。2.要会实践。培养洞察力,能一眼抓住问题的关键;培养联想力,触类旁通,能透过某些不同的实际问题的表面看到共同的数学特性;学会在实践中提出问题,搜集资料,组建模型,解决问题。3.要会思考。应用已学到的数学知识和方法进行数学分析,培养综合,归纳,抽象,化简等数学思维方式。4.要会计算,学会使用软件,设计程序,借助计算机解决实际问题。5.通过数学建模白^学习和实践,发现数学知识的不足,发现数学思考方法的不足,激励对数学学习和研究的积极性和主动性。实验三模型的人工求解一、实验目的掌握模型的传统解法了解管理中所使用的模型及在决策中的应用23 二、实验内容模型的人工求解实际问题的决策三、方案设计(实验步骤)1、选择一个管理决策问题。可选择本实验后附参考资料第二部分中的物资运输决策、本实验后附参考资料第一部分中的[例1]、前面试验涉及的决策问题,也可任选。2、必要时自行建模。3、先给出某个具体问题实例,然后人工求解模型。4、进行决策。5、总结四、实验结果(结论)1.决策问题某企业某种产品的年销量为1000件,售价为每件110元,为要生产这种产品,准备选购新的机器设备。对于这类设备,市场上共有A、RC三种类型可供选择:A型需要投资2万元,每件产品的生产成本为100元;B型需要投资3万元,每件产品的生产成本为90元,AB两种类型设备的年生产能力均能超过1000件;C型需要投资1.5万元,每件产品的生产成本为95元,年生产能力只有800件。如果要求投资回收期越短越好,问该企业应选购何种类型的设备为宜?2,建立的模型如果要求投资回收期越短越好,问该企业应选购何种类型的设备为宜?MT=P(S-S0)3.详细求解步骤(1)、建模假设1)该种产品的年销量是一定的,不会受市场需求量的影响2)该产品的售价固定,不会出现打折降价的现象3)购买的设备都是好的,不会出现任何故障4)各种设备生产每件产品的成本是一定的,不会受到外界因素的影响(2)、参数变量投资回收期(年):T投资金额(元):M年销量:P单件售价(元):S单件生产成本(元):So(3)、建立模型如果要求投资回收期越短越好,问该企业应选购下列模型MT23 =P(S-S0)(4)、模型求解将各方案有关数据代入公式,则有:20000A型设备投资回收期==2(年)1000(110—100)30000B型设备投资回收期==1.5(年)1000(110—90)15000X2C型设备投资回收期==2(年)1000(110—95)3.决策过程由于C型设备的年生产能力只有800件,所以,必须购置两套才能保证满足年销量1000件。比较各方案的投资回收期,显然,以B型设备的投资回收期为最短,因此,应选购B型设备作为投资决策方案。五、体会(收获)1、通过本实验的学习,我了解了所谓决策,是指为了达到某个行为目标,在占有一定信息的基础上,借助于科学的理论、方法和工具,对影响目标的各种因素进行分析、计算和评价,结合决策者的经验,从两个以上的可行方案中选择一个最优的方案。由此可见,决策并不是一个瞬间作决定的问题,而是为了解决某个问题、达到某个行动目标,收集信息,拟定方案,分析、评价及选择方案等一个完整的活动过程。2、我了解了现代企业决策的基本准则是是指方案的结果评价和择优选择的标准1、确定型决策准则(1)直观法(2)临界点分析法(3)效益成本分析法(4)选择评分法2、风险型决策准则(1)期望值准则23 (2)最大可能准则(3)机会均等准则(4)边际分析准则3不确定型决策准则(1)最大最小化(最小最大化)准则(2)最小最大化后悔准则(3)最大最大化(最小最小化)准则(4)折衷准则3所谓ROM0J法,就是面向决策者进行表述R(Representions)、操作O(Operations)、存储M(Memoryaids)和才5制C(Control)。运用ROMCf法,首先要识别决策过程的基本活动,接着分析每一个基本活动的四个基本成分:表述、操作、存储和控制,然后将这些成分构成一个初始的DSS在交付使用后,经用户评价,研制者不断修改、扩充这些基本成分,直到开发出用户满意的、最终的DSS基本过程如下图所示。在别关城讨程基本活动实验四程序模型一、实验目的掌握程序模型的实现方法二、实验内容编制模型的计算机算法程序。思考实现计算机算法的要求。三、方案设计与要求1、任选一个数学模型。23 2、配置编程环境。3、明确模型的人工解法,转变为计算机算法,进行必要的数据管理,并编程实现。最小二乘法模型可用于实验六的成本预测决策支持系统实现。四、实验结果(结论)1.数学模型最小二乘法模型:在我们研究两个变量(x,y)之间的相互关系时,通常可以得到一系列成对的数据(x1,y1、x2,y2…xm,ym);将这些数据描绘在x-y直角座标系中(如图1),若发现这些点在一条直线附近,可以令这条直线方程如(式1-1)。(式1-1)Y=a0+a1X其中:a0、a1是任意实数23 人工算法为建立这直线方程就要确定a0和al,应用《最小二乘法原理》,将实测值Yi与利用(式1-1)计算值e计=a0+alX)的离差(Yi-Y计)的平方和'〔三(Yi-Y计)2〕最小为“优化判据”。令:(|)=E(Yi-Y计)2(式1-2)把(式1-1)代入(式1-2)中得:小=E(Yi-a0-a1Xi)2(式1-3)当三(Yi-Y计)平方最小时,可用函数小对a0、a1求偏导数,令这两个偏导数(式1-4)詈二一海方也―四(式1-5)亦即:ma0+(EXi)a1=EYi(式1-6)(EXi)a0+(EXi2)a1=E(Xi,Yi)(式1-7)得到的两个关于a0、a1为未知数的两个方程组,解这两个方程组得出:a0=(EYi)/m-a1(EXi)/m(式1-8)a1=[EXiYi-(EXiEYi)/m]/[EXi2-(EXi)2/m)](式1-9)这时把a0、a1代入(式1-1)中,此时的(式1-1)就是我们回归的元线性方程即:数学模型。在回归过程中,回归的关联式是不可能全部通过每个回归数据点(x1,y1、x2,y2...xm,ym),为了判断关联式的好坏,可借助相关系数“R',统计量“F”,剩余标准偏差“S”进行判断;“R’越趋近于1越好;“F”的绝对值越大越好;“S”越趋近于0越好。2、编程环境VisualBasic6.0+ADO+MicrosoftOfficeAcess20033、详细计算机算法和完整的程序清单调用界面23 数据表1、参数表2、x、y数值表FtMicrosoftAccess-[tjsj;衣]ni*yi53534229184533ST80.ST44g5245E1425669887.127787293602765g5355,14IC3341ii4549511252S3.16131626014686604158159.36程序窗口及代码:1、调用程序窗口:-图工程1Cdr-)臼巴窗体&dy(dyfrm)14ft模块dynk(dymk.basD(1)、dy窗体代码:23 PrivateSubCommand1_Click()调用最小二乘法模型程序Shell("c:jczcyzjxtjczcxtmxzxecfmbwjzxecf.exe")DimstrSQLAsStringDimADOrsAsNewRecordsetSetADOrs.ActiveConnection=ADOcn'定义变量a,b,存放从cs表中得到的a,b字段的值DimaAsSingle,bAsSingle等待最小二乘法模型程序执行完毕Fori=0To9999strSQL="select*fromcs"ADOrs.OpenstrSQLa=ADOrs("a")b=ADOrs("b")ADOrs.CloseIfa<>0ThenExitForEndIfNexti'定义变量m,n,分别存放将a,b转换为字符串后的值Dimm,nAsStringm=CStr(a)n=CStr(b)‘若m左侧的第一个字符为".",则在第一个字符前加"0"IfLeft(m,1)="."Thenm="0"&mEndIf‘若n左侧的第一个字符为".",则在第一个字符前加"0"IfLeft(n,1)="."Thenn="0"&nEndIf’在文本框中显示m,n的值Txta.Text=mTxtb.Text=n让文本框成为只读Txta.Enabled=FalseTxtb.Enabled=False23 EndSub(2)、dymk公共模块代码’声明全局^•象变量ADOcn,用于创建与数据库的连接PublicADOcnAsConnectionPublicSubMain()’定义数据库连接字符型变量strAccess,并为其赋值,用以连接Access数据库DimstrAccessAsStringstrAccess="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:jczcyzjxtjczcxtsjcbyc.mdb"调用VB函数DoEvents,用于转移系统控制权DoEvents'建立与数据库的连接SetADOcn=NewConnection'连接Access数据库ADOcn.OpenstrAccess'初始化cs表strSQL="delete*fromcs"ADOcn.ExecutestrSQLstrSQL="insertintocs(a,b)values。。)"ADOcn.ExecutestrSQL'显示主窗体dy.ShowEndSub2、模型窗口工程工程1BEorml(1)zxecf模块窗口代码:’声明全局^■象变量ADOcn_mx,用于创建与数据库的连接PublicADOcn_mxAsConnection定义数据库连接字符型变量DimstrAccessAsStringstrAccess=SubMain()strAccess,并为其赋值,用以连接Access数据库"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:jczcyzjxtjczcxtsjcbyc.mdb"23 调用VB函数DoEvents,用于转移系统控制权DoEvents’建立与数据库的连接SetADOcn_mx=NewConnectionADOcn_mx.OpenstrAccessDimstrSQLAsStringDimADOrsAsNewRecordsetSetADOrs.ActiveConnection=ADOcn_mxstrSQL="select*fromtjsj"'执行Select语句,1代表只读ADOrs.OpenstrSQL,ADOcn_mx,1'定义变量num,存放从记录集读入的数据行个数DimnumAsIntegernum=ADOrs.RecordCount'定义变量v1存放x的值,变量v2存放y的值,变量suml存放x平方的和,sum2存放y的和,sum3存放x的和,sum4存放x*y的和,i是循环变量。Dimv1,iAsInteger,v2,suml,sum2,sum3,sum4AsSingleFori=1Tonumv1=ADOrs("X").Valuev2=ADOrs("Y").Value'计算x平方的和suml=suml+v1*v1'计算y的和sum2=sum2+v2计算x的和sum3=sum3+v1'计算x*y的和sum4=sum4+v1*v2ADOrs.MoveNextNexti'关闭记录集ADOrs.Close'定义变量a存放常数项,定义变量b存放回归系数,定义变量Sql1,存放更新字符串DimaAsSingle,bAsSingle,Sql1AsStringa=(suml*sum2-sum3*sum4)/(num*suml-sum3*sum3)b=(num*sum4-sum2*23 sum3)/(num*suml-sum3*sum3)'用计算出的a,b值更新数据库表cs中的a,b值Sql1="updatecsseta="&a&",b="&b’执行更新语句ADOcn_mx.ExecuteSql1’关闭数据库连接对象ADOcn_mx.CloseEndSub3、运行结果打开调用模块,点击计算按钮结果如下:相应地参数表更新为14744017486326五、体会(收获)通过本实验的学习,我基本掌握了建立模型的具体步骤和方法。结合实验指导书,学会了配置编程环境。明确掌握最小二乘法模型的人工解法,并能成功实现为计算机算法,最后能够编程实现。23 实验五模型表示与组合、实验目的掌握模型的表示、组合及模型库的建立二、实验内容建立模型库组合模型应用三、方案设计与要求1、设置开发环境。2、将涉及的模型分类或分形式存放,构成层级文件夹,形成模型文件库。注意模型文件至少有源文件和目标文件两种形式。3、建立索引表或分类索引表,索引内容包含模型编号、名称、模型文件名、以及模型文件路径,形成字典库。4、建立一个模型库集成管理界面,也可自行设计开发模型库管理系统。四、实验结果(结论)1、设置开发环境VisualBasic6.0+ADO+MicrosoftOfficeAcess20032、模型文件库在“”目录下新建名为mx(模型)的子目录,用于存放模型文件。在mx子目录下新建名为zxecf(最小二乘法)的子目录,用于存放最小二乘法模型程序文件。在zxecf子目录下新建名为ywj(源文件)的子目录,用于存放最小二乘法模型程序的源文件。在zxecf子目录下新建名为mbwj(目标文件)的子目录,用于存放最小二乘法模型程序的目标文件。具体如下图:23 一.我的电脑日J系统(C:)」360Rec+igdell+口Docmnents皿dSettings+_j工id白1臼口jcicyijxt-亡)jc±cxt-广哼-亡1万《晶31mbwj泮』模型库目录-Ld泮j>,最小二乘法子目录•目标文件子目录海文件子目录O=jxt1+)口ProgramFilss+口tflKDOWSl±J"软件❿)模型文件库3、字典库索引表名为:zd;模型编号(id)为:1;模型名称(mxmC为:最小二乘法模型;模型文件名(mxwjm为:zxecf.exe;2323模型文件路径(mxwjlj)为:具体如图:1最小二乘法模型mxwjmzxecf.0聚会共有记录数:3iwwj1jc:czcyzjxtjezcj:tmxzxecfmbwj字典表4、建立一个模型库集成管理界面,设计开发模型库管理系统。23 模型库管理系统界面五、体会(收获)1、通过本实验的学习,我掌握了模型的组合,学会了建立模型库:了解了模型库的特点:(1)由模型库管理系统进行管理;(2)每个模型都具有辅助决策能力;(3)多个模型能有效地组织成系统;(4)多个模型的连接需要利用共享的数据库。2、同时也了解了模型库管理系统的结构,学会了将一个模型分类存放并实行调用,通过设置字典表的路径来调用建好的模型,同时也了解的模型组的应用,学会了在总控界面下调用模型。23 实验六总控与DSSB成一、实验目的了解DSS系统集成方法,掌握总控部件和界面的实现二、实验内容设计数据部件编制人机交互界面编制总控程序集成部件形成决策支持系统三、方案设计与要求1、参考本实验后附材料选定要开发的系统,设想开发总体方案2、设计总控和人机界面3、部件集成和调试4、开发文档编写四、实验结果(结论)下面以成本预测决策支持系统开发为例1、DSS运行结构图开始24统计数据表tjsj 2、实验过程(开发文档)一、数据部件的处理系统运行结构图40 1.在Access2003中建立成本预测数据库,在成本预测数据库中建立统计数据表,以及将表1中给出的15组统计数据录入统计数据表的具体操作步骤参见第2章实验1。2.根据下表中给出的预测表的数据结构,在成本预测数据库中建立预测表(yc),输入字段后的“表”设计窗口如下图所示。字段名称I数据类型[说明d字字字数数数每批投入产品件数(臼件)」字段大小为整型.产品成本(百元J■字段大小为单精度型.常理查阅字段大小格式小数位数输入倚码标题默认值有效性规则有效性文本必埴字段素引智能标记字段属性该字段用于窗体时的标如果未输入在题>则将字段名用作标签口按F1屣可查看有关标题的招助.输入字段后的“表”设计窗口二、模型部件的处理编写最小二乘法模型程序的具体操作步骤参见实验4。编写一元线性回归方程模型程序,在成本预测数据库中建立字典表,以及将模型属性数据录入字典表的具体操作步骤如下。1、在“c:jczcyZjxtjczcxtmx”目录下新建名为yyxxhg(一元线性回归)的子目录。接着,在yyxxhg子目录下新建名为ywj(源文件)的子目录,用于存放一元线性回归方程模型程序的源文件;在yyxxhg子目录下新建名为mbwj目标文件)的子目录,用于存放一元线性回归方程模型程序的目标文件。结果如图所示:序号字段名称数据类型是否主键说明1id数字二是2x数字否每批投入产品件数(百件),字段大小为整型3y数字否产品成本(白兀),字段大小为单精度型yc:表40 -■我的电脑.J系统(C:)由Q30CRec田Odell+Bocwneni.5andSettings+_iIntel=imjcicyijxt-口JCICKt旧热酢模型摩目录.一元线性回归子目录・目标文件千目录嗨文件子目录+亡JzxecQ£j口rk0工jxt+mProp*amFil«s+3牛工班的S++软件®:)4040文件及子目录2.启动visualBasic6.0,进人“工程”界面。单击工具栏上的“保存”按钮,命名窗体文件为“yyxxhg.frm",工程文件为“yyxxhg.vbp",并将两个文件都保存在"c:jczcyzjxtjczcxtmxyyxxhgywj”目录下。然后,新建一个模块,更改其名称为“yyxxhg”,并以“yyxxhg•bas”作为文件名也保存在“c:jczcyzjxtjczcxtmxyyxxhgywj”目录下。3.单击菜单栏上的“工程”>“引用”选项,勾选“MicrosoftActiveXDataObjects2.8Library”选项和“MicrosoftActiveXDataObjectsRecordset2.8Library”选项。4.单击菜单栏上的“工程”>“工程1属性”选项,将“启动对象”更改为“SubMainf。5.鼠标双击右侧任务窗格中的yyxxhg模块,在弹出的yyxxhg(Code)"代码编写”界面中编写程序代码在界面中输人的完整程序代码如下:'声明全局对象变量ADOcn用于创建与数据库的连接40 PublicADOcnAsConnectionSubMain()定义数据库连接字符型变量strAccess,并为其赋值,用以连接Access数据库DimstrAccessAsStringstrAccessProviderMicrosoft.JetQLEDB.4.0;DataSourcec:jczcyzjxtjczcxtsjcbyc.mdb"'调用vB函数DOEvents,用于转移系统控制权DoEvents’如果还没有建立与数据库的连接,则用以下代码创建SetADOcn=NewConnectionADOcn.OpenstrAccessDimstrSQLAsString'声明一记录集对象,并与ADOc法联DimADOrsAsNewRecordsetSetADOrs.ActiveConnection=ADOcnstrSQL="select*fromcs"'执行Select语句ADOrs.OpenstrSQL'定义变量a,b,分别存放cs表中的a,b字段值'定义变量x,y,分别存放投入产品件数和产品成本DimaAsSingle,bAsSingle,xAsInteger,yAsSinglea=ADOrs("a")b=ADOrs("b")ADOrs.Close'定义变量Sql1并为其赋值,彳#到保存在yc表中的投入产品件数Sql1="selectxfromycwhereid=l"ADOrs.openSql1x=ADOrs("x")'根据投入产品件数,预测产品成本y=a+b*x'定义变量Sql2并为其赋值,更新yc表中的产品成本Sql2="updateycsety="&y&"whereid=l"ADOcn.ExecuteSql2'关闭记录集对象和连接对象ADOrs.CloseADOcn.CloseEndSub2.单击菜单栏上的“文件”>“生成yyxxhg.exe”选项,修改文件的存储路径为"c:jczcyzjxtjczcxtmxyyxxhgmbwj",然后,单击“确定”按钮。至此,一元线性回归方程模型程序编制完毕。40 2.单击菜单栏上的“保存”按钮,保存工程。然后,单击菜单栏上的“文件”>“退出”选项,退出VisualBasic6.0。8.根据4-2字典表的数据结构,在成本预测数据库中建立字典表(zd),输入字段后的“表”设计窗口如下图所示。段值式题引能宇新格标索智字段属性表4-2字典表的数据结构在舁厅P字段名称数据类型是否主键说明1id自动编p是模型文件编号2mxmc文本否模型名称3mxwjm文本否模型文件名称4mxwjlj文本否模型文件存放路径■wd:表□画字假名称型据类型说明相id自动编号模型文件编号.mxfnc模型名称.mxwjm模型文件名称.mxwjlj模型文件存放路径.区)9.打开字典库,将最小二乘法模型以及本实验创建的一元线性回归方程模型的模型名称、模型文件名称,以及模型文件存放路径录入字典表,操作结果如下图所示。・端二表iJlInllx,i」|E.mc八’1最小二乘法模型zxecf.ex«c:jczcyzjxtjczMtmxzxecfffibvj2一元线性回归方程模型yyxxKg.c:jcrcyzjKtXjczcKtmKyyKxhgfiihwjV记录:叵HI1C0面画共有记录数:2<上40 三、综合部件(总控程序)的处理1.在“c:jczcyzjxtjczcxt”目录下新建一个名为zk(总控)的子目录,用于存放总控程序。2.启动VisualBasic6.0,进入“工程”界面。将“工程”界面右侧任务窗格属性窗口中的(名称)属性的值修改为“zk”。然后,单击工具栏上的“保存”按钮,命名窗体文件名为“zk.frm”,工程文件名为“zk.vbp”,并将两个文件都保存在"c:jczcyzjxtjczcxtzk”目录下。3.单击菜单栏上的“工程”>“引用”选项,勾选“MicrosoftActiveXDataObjects2.8Library”选项和“MicrosoftActiveXDataObjectsRecordset2.8Library”选项。4.单击菜单栏上的“工程”>“添加模块”选项,新建一个模块,并修改模块名为“zkmk'(总控模块)。单击菜单栏上的“保存”按钮,命名模块文件为“zkmk.bas",也保存在"c:jczcyzjxtjczcxtzk”目录下。5.单击菜单栏上的“工程”>“添加窗体”选项,显示器上将弹出“添加窗体”对话框。6.选择“窗体”选项,单击“打开”按钮,新建一个窗体。然后,将任务窗格属性窗口中的(名称)属性的值修改为“wtms'(问题描述)。单击工具栏上的“保存”按钮,命名窗体文件为“wtms.frm",也保存在"c:jczcyzjxtjczcxtzk"目录下。7.在“问题描述”窗体中绘制两个Label控件,分别修改其属性窗口中Caption属性的值为“问题描述”和“已知某产品成本与每批投入产品件数是线性相关的,并且已有15组统计数据,现在需要根据给出的每批投入产品件数,预测每批产品成本”。继续在“问题描述”窗体中绘制一个CommandButton空件,修改其属性窗口中Caption属性的值为“进入成本预测决策支持系统”。8.鼠标双击”进入成本预测决策支持系统”按钮,在弹出的wtms(Code)”代码编写”界面中编写Commandl_Click事件处理程序代码。40 |CB4jqreClick工[PrivateSubCm.djxyc_Click()TxtmptTcpjsBT©Kt=**Txtcpcb..T-ext="集Txtmptrcpjs.SetFocusCmdyc.Enabled=TrueCmdjKyc...Enabled=FalseEndSubPrivateSubCEdt(i=Clirka)ADOcBClos^EndEndSubPrivat-eSubCm.dlyc_Click()1判断输入的每批投入产品件数是否为空,若为空则弹出提示信息IfTst.mptrcpjsaText=ThenHsgBox*请输入每批投入产品件数!押Txtjnpt-rcsijs.Text=**Tsstjnptrcjjjs.SelPocuEExitSubEndIf二判断输入的母批投入产品件数是否为敬字,若不为载字则弹出提示信息IfNotIsNumeric(Txtmptrcpjs.Text)ThenHeaBox”输入的每枇投入产品件数只能是正整数!"Txtmptrcpjs.T*xt-TxtmptrepjsBSetFocusExitSubEndIf.判断输入的每批投入产品件数是否为正整数,若不为正整数则弹出提示信息1sptfifrvb(wk.Q本一zk夬体块@1窗05根工匕n在界面中输人的完整程序代码如下:PrivateSubCommandl_Click()显示总控窗体Zk.Show关闭问题描述窗体UnloadMeEndSub9.鼠标双击添加窗体后“工程”界面右侧任务窗格中的zkmk,打开zkmk(Code)“代码编写”界面,在界面中编写程序代码在界面中输入的完整程序代码如下:'声明全局对象变量ADOcn用于创建与数据库的连接PublicADOcnAsConnectionPublicSubMain()’定义数据库连接字符型变量strAccess,并为其赋值,用以连接Access数据库DimstrAccessAsStringstrAccess="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:jczcyzjxtjczcxtsjcbyc.mdb"'调用VB函数DoEvents,用于转移系统控制权DoEvents40 ’如果还没有建立与数据库的连接,则用以下代码创建SetADOcn=NewConnection‘连接Access数据库ADOcn.openstrAccess'初始化cs表strSQL="delete*fromcs"AD0cn.ExecutestrSQLstrSQL="insertintocs(a,b)values(0,0)”ADOcn.ExecutestrSQL'初始化yc表strSQL="delete*fromyc"ADOcn.ExecutestrSQLstrSQL="insertintoyc(id,x,y)values(l,0,0)"ADOcn.ExecutestrSQL'显示问题描述窗体wtms.ShowEndSub10.鼠标双击右侧任务窗格中的zk,打开zk窗体,在窗体中绘制控件。其中,“常数项”右侧的TextBox控件(名称)属性被修改为“Txta”,"回归系数”右侧的TextBox控件(名称)属性被修改为“Txtb”。“每批投入产品件数”右侧的TextBox控件(名称)属性被修改为“TxtmPtrcpjs”,“产品成本”右侧的TextBox控件(名称)属性被修改为“Txtcpcb",Enabled属性被修改为“False"。“预测"CommandButton空件的(名称)属性被修改为“Cmdyc",“继续预测"CommandButton控件的(名称)属性被修改为“Cmdjxyc",“退出”CommandButton空件的(名称)属性被修改为“Cmdtc'。界面右下脚的TextBox控件(名称)属性被修改为“Txtl”,Visible属性被修改为“False”。11.鼠标双击zk窗体中没有绘制控件的位置,在弹出的zk(Code)"代码编写”界面中编写Form_Load事件处理程序代码。在界面中输人的完整程序代码如下:PrivateSubForm_Load()DimSqlmodelDimADOrsModelAsNewRecordsetSetADOrsModel.ActiveConnection=AD0cn40 '从Zd表中获得最小二乘法模型文件的名称和路径Sqlmodel="select*fromzdwhereid=l"ADOrs_Model.openSqlmodelFilepath=ADOrs_Model("mxwjlj")modelName=ADOrs_Model("mxwjm")ADOrs_Model.Close'调用最小二乘法模型程序Shell(filepath&modelName)DimstrSQLAsStringDimADOrsAsNewRecordsetSetADOts.ActiveConnection=ADOcn'定义变量a,b,存放从cs表中得到的a,b字段的值DimaAsSingle,bAsSingle’等待最小二乘法模型程序执行完毕Fori=0To9999strSQL="select*fromcs"ADOrs.openstrSQLA=ADOrs("a")B=ADOrs("b")ADOrs.CloseIfa<>0ThenExitForEndIfNexti'定义变量m,n,分别存放将Dimm,nAsStringm=CStr(a)n=CStr(b)'若m左侧的第一个字符为"IfLeft(m,l)="."Thenm="0"&mEndIf'若n左侧的第一个字符为"IfLeft(n,l)="."Thenn="0"&nEndIf'在文本框中显示m,n的值Txta.Text=mTxtb.Text=n'让文本框成为只读Txta.Enabled=Falsea,b转换为字符串后的值.”,则在第一个字符前加"0",.”,则在第一个字符前加"0"Txtb.Enabled=FalseCmdjxyc.Enabled=FalseEndSub40 10.鼠标双击zk窗体中的“预测”按钮,在弹出的zk(Code)“代码编写”界面中编写Cmdyc_Click事件处理程序代码。在界面中输人而完整程序代码如下:PrivateSubCmdyc_Click()'判断输入的每批投入产品件数是否为空,若为空则弹出提示信息IfTxtmptrcpjs.Text=""ThenMsgBox"请输入每批投入产品件数!”Txtmptrcpjs.Text=""Txtmptrcpjs.SetFocusExitSubEndIf'判断输入的每批投入产品件数是否为数字,若不为数字则弹出提示信息IfNotIsNumeric(Txtmptrcpjs.Text)ThenMsgBox"输人的每批投入产品件数只能是正整数!"Txtmptrcpjs.Text=""Txtmptrcpjs.SetFocusExitSubEndIf'判断输入的每批投入产品件数是否为正整数,若不为正整数则弹出提示信息IfInstr(Txtmptrcpjs.Text,".")orInstr(TxtmptrcPjs.Text,".")or(Instr(Txtmptrcpjs.Text,"0")=1)ThenMsgBox"输人的每批投入产品件数只能是正整数!"mptrcPjs.Text=""Txtmptrcpjs.SetFocusExitSubEndIf’如果是第一次预测IfTxtl.Text=""Then'记录输入的每批投入产品件数Txtl.Text=Txtmptrcpjs.Text'用刚输入的每批投入产品件数更新yc表中的x字段DimstrSQLAsStringstrSQL=updateycsetx="&Val(Txtmptrcpjs.Text)&"whereid=l"ADOcn.ExecutestrSQLDimsqlmodelDimADOrs_ModelAsNewRecordsetSetADOrs_Model.ActiveConnection=ADOcn'从zd表中获得一元线性回归方程模型文件的名称和路径40 Sqlmodel="select*fromzdwhereid=2"ADOrs_Model.openSqlmodelFilepath=ADOrs_Model("mxwjlj")modelName=ADOrs_Model("mxwjm")ADOrs_Model.Close'调用一元线性回归方程模型程序Shell(filepath&modelName)DimADOrsAsNewRecordsetSetADO_rs.ActiveConnection=ADOcn'定义变量y,存放从yc表中得到的字段y的值DimyAsSingle’等待一元线性回归方程模型程序执行完毕ForI=0To9999strSQL=''selectyfromycwhereid=l"ADOrs.openstrSQLy=ADOrs("y'')ADOrs.CloseIfy<>0ThenExitForEndIfNextiTxtcpcb.Text=y'如果不是第一次预测ElseSetDOrs.ActiveConnection=ADOcn'变量y_1用于存放执行模型程序前从yc表中得到的字段y的值strSQL=''selectx,yfromycwhereid=l"ADOrs.openstrSQLy_l二AD0rs("y,,)ADOrs.Close'如果前一次输入的每批投入产品件数与这一次输人的每批投入产品件数相同IfTxtmptrcpjs.Text=Txtl.TextThenTxtcpcb.Text=y_l'如果前一次输入的每批投人产品件数与这一次输入的每批投人产品件数不同ElseTxtl.Text=Txtmptrcpjs.Text=l"strSQL="updateycsetx="&Val(Txtmptrcpjs.Text)&"whereidADOcnExecutestrSQLSetADOrs_Model.ActiveConnection=ADOcnSqlmodel="select*fromzdwhereid=2"ADOrs_Model.openSqlmodel40 Filepath=ADOs_Model("mxwjlj")modelName=AD0rs_Model("mxwjm")ADOrs_Model.CloseShell(filepath&modelName)'变量y_2用于存放执行模型程序后从yc表中得到的字段y的值ForI=0To9999strSQL="selectyfromycwhereid=l"ADOrs.openstrSQLy_2=ADOrs("y")ADOrs.Close‘一元线性回归方程模型程序执行完毕Ify_2<>y_1ThenExitForEndIfNextiTxtcpcb.Text=y_2EndIfEndIfCmdjxyc.Enabled=TrueCmdyc.Enabled=FalseEndSub10.鼠标双击zk窗体中的“继续预测”按钮,在弹出的zk(Code)”代码编写”界面中编写Cmdjxyc_click事件处理程序代码。在界面中输人的完整程序代码如下:PrivateSubCmdjxyc_Click()Txtmptrcpjs.Text=""Txtcpcb.Text=""Txtmptrcpjs.SetFocusCmdyc.Enabled=TrueCmdjxyc.Enabled=FalseEndSuh11.鼠标双击zk窗体中的“退出”按钮,在弹出的zk(Cede)“代码编写”界面中编写Cmdtc_Cliok事件处理程序代码。在界面中输人的完整程序代码如下:PrivateSubCmdtc_Click()ADOcn.CloseEndEndSub12.单击菜单栏上的“工程”—“工程1属性”选项,修改“启动对象”属性为“SubMain”。单击菜单栏上的“保存”按钮,保存工程。40 四、解决接口问题从上述为成本预测DS/部件所编制的程序代码中可以看到:1.最小二乘法模型程序(zxecf.exe),以及一元线性回归方程模型程序(yyxxhg.exe)都使用了数据库技术作为对成本预测(cbyc.mdb)数据库中数据的存取接口。2.总控程序(zk.vbp)也使用了数据库技术作为对成本预测数据库中数据的存取接口。3.总控程序在调用最小二乘法模型程序,以及一元线性回归方程模型程序之前,都先访问了成本预测数据库中的字典(zd)表,在获得了模型文件名及路径后,将它们调人内存中运行。五、各部件的集成从为成本预测DSS各部件所编制的程序代码中还可以看到,正是通过使用VisualBasic6.0对总控程序的编写和运行,才实现了成本预测DSS各部件的有效集成。六、系统运行4VisualBasiC6.0中运行成本预测决策支持系统的具体步骤如下:1.鼠标单击工具栏上的“启动”按钮。2.显示器上将弹出“问题描述”界面。单击界面上的“进入成本预测决策支持系统”按钮。显示器上将出现“成本预测决策支持系统”界面。可以看到,常数项a和40 回归系数b的值已经在界面中显示出来。在界面中每批投入产品件数右侧的文本框中输人每批投入产品件数后(这里以41为例),单击“预测”按钮,在产品成本右侧的文本框中将显示预测的产品成本。40 单击界面中的“继续预测”按钮将启动新的一轮预测。此时,可以在每批投入产品件数右侧的文本框中输入新的每批投入产品件数。如果此时输入的每批投入产品件数不是正整数,则显示器上将显示“错误提示”对话框。6.预测结束后,单击界面中的“退出”按钮,将退出成本预测决策支持系统。40 五、体会(收获)1、通过本实验的学习,我基本了解DSS系统集成方法,掌握总控部件和界面的实现,从设计数据部件、编制人机交互界面、编制总控程序、集成部件形成决策支持系统一步一步的根据指导书去练习,最终完成了DSS勺集成,感觉学到了不少东西。40

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭