决策支持系统及其开发实验报告模板

更新时间:2023-03-08 08:59:54 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目录

实验一 -------------------------2

实验二 -------------------------6

实验三 -------------------------9

实验四 -------------------------12

实验五 -------------------------18

实验六 -------------------------23

实验七 -------------------------23

实验一 认识决策模型

一、实验目的

认识模型,区分模型的类别,明确模型的形式,加深理解模型的意义及对决策的作用。

二、内容与要求

熟悉并了解创建运行环境、运行程序模型; 掌握样本、变量、输入、输出的概念和原理; 掌握模型概念、类型、形式、数学模型、程序模型等。

三、实验步骤

1.上网搜索或查看本实验参考资料第一部分和教材,找出模型概念、分类和表示形式。 2.运行实验资源中的应用数学软件包。 3.阅读本实验参考材料第二部分。 4.设计建模环境。

四、实验结果

1. 模型类别

模型的概念:模型是对现实世界的简化和抽象,将对世界的结构、联系、机理、过程等认识的符号描述,即思维过程简约化表示。

模型的分类:根据采用的符号系统模型可分为: 物理模型:用实体模拟、类比,如地球仪。

数学模型:用数学语言描述的一类模型,类似数学公式的形式。

结构模型:反映系统的结构特点和因果关系的模型,具体为各种图模型。 仿真模型:计算机上运行的程序化表达的模型。

常用的决策模型多为数学模型,而空间决策支持中常用的是数学模型和结构模型。

数学模型是通过变量与参数构成的方程式模拟世界的演变,现实中若实现模型的值,就达到追求的目标。广义数学模型类别有:

1、原理性模型 2、系统学模型 3、规划模型 4、预测模型 5、管理决策模型 6、仿真模型 7、计量经济模型

西蒙根据决策的合理性将决策过程分为三种模型: ( l )理想模型

根据主观期望效用理论(subjective expected utility )的这种模型要求: 决策者有一个明确定义的效用函数,

1

假定决策者有一个十分完备的可选择方案集合; 假定决策者能确定未来事件发生的概率分布;

进而决策者可以按照效用函数极大的准则进行决策。 ( 2 )行为模型

人们在进行决策时,常常要受到各种行为和心理因素的影响。

由于有各种行为因素的影响,西蒙提出了有限合理性( bounded rationality )原则。他认为现实世界的决策由于必然要受到行为因素的影响,因而应该使用行为模型,但也只能达到有限的合理性。

( 3 )直觉模型

直觉模型是指决策者完全凭主观进行决策,即通俗讲的靠“拍脑袋”进行决策。这种模型可以看成是行为模型的一种特例,它受当事人行为因素的影响更大,合理性的局限也更大。在实际生活中,这种模型的使用是大量的。对于直觉模型的合理性要进行分析,并不能一概排斥。当一个人使用直觉进行决策时,可能非常迅速,连他本人也说不出为什么做出这样的决策。但实际上他是应用了长期积累的经验、知识以及其特有的素质,这个决策也可能是正确的。

以上所谓模型可理解为决策的过程模型。需与模型加以区分。作为DSS基础的模型,“教材”将模型从总体上分为物理模型、数学模型、结构模型、仿真模型。当然从不同的角度,可有不同的划分结果。DSS中涉及最多的是数学模型和仿模型。

2. 模型表示形式

模型的很多类别,其根本形式可分有数学模型和程序模型,程序模型又可分源程序和目标程序形式。

3. 应用数学软件的软件构成

软件由常用统计方法,多元统计方法,线性代数计算,关于,概述,图像显示,最优化方法,回归分析八部分组成。其中常用统计方法,多元统计方法,线性代数计算,最优化方法和回归分析为数学模型,图像显示为仿真模型,关于和概述为结构模型。应用数学软件的软件构成是模型集合。

4. 应用数学软件的表示形式

形式涵盖了数学模型和程序模型,比如说数学原理均为数学的表现形式,而操作演示和实际操作均为程序模型。

5. 应用数学软件的数据来源

其数据来源包括了很多方面,由程序自带的数据库,也有人机对话输入。

实验参考材料第二部分:

样本为54位被随机选取的某种特殊肝脏手术的病患的存活情形(Y),变量为X1:血液凝结指数 X2:预后指数(涵盖有病人的年龄) X3:酵素功能检查指数 X4:肝功能检查指数

输入为:四个变量(X1、X2、X3、X4)与存活情形(Y)以及LOGY(残差分析Y对应转换)

输出为:Y相对与四个变量的线性回归模型

2

数学模型为:计量经济模型线性回归模型,使用的为STEPWISE(逐步回归法),除此之外还有FORWARD(前进选择法)、BACKWARD(后退消去法)、MAXR(最大R-SQUARE)、MINR(最小R-SQUARE)四种方法来选取适当的变量。

程序模型为:目标程序 6. 软件包应用

基于此软件包,可以进行多模型辅助决策

五、实验体会(收获) 1.模型对决策的重要性 在以往的学习中,我们知道,管理信息系统在本质上是属于更高一级的电子数据处理,它能提高数据处理的速度,提高工作效率。但是,高效率仅仅是系统业务处理中所追求的一个“过程目标”,而不是建造系统所追求的“最终目标”。高效率并不等于高效益,只有科学的、正确的决策才能带来好的效益,为企业带来活力与旺盛的生命力。否则将相去甚远,在错误决策下的高效率只能加重损失的程度。

因此,企业所追求的最终目标,应该是决策的正确性、科学性和有效性,高效率只有在这个前提下才能发挥它对企业积极的、促进的作用。

可见,是管理自身的要求需要尽快地从 MIS发展到 DSS ,即由数据管理向模型管理发展。 DSS 与 MIS 相比更先进一步,是因为它强调以下三点:

(1)将模型并入信息系统软件;

(2)为高层管理提供有用信息,以便支持那些相对而言结构化程度比较低的决策行为,如支持半结构化的决策活动;

(3)提供给用户强有力、然而并不难掌握的与系统之间的人一机交互能力,即用户能够用较为简单的语言向系统咨询,并从系统得到科学的、有效的决策支持。

以上三个观点虽然在 MIS 中没有被忽视,但不能否认,它们也没有被加以重视,这也使得 MIS 只是强调数据处理能力的提高,但它所收集、存储,处理和提供的信息,还远未能够对管理工作产生积极的影响,没有强调对决策工作积极的支持。 DSS 则面向决策,针对半结构化甚至于非结构化的决策问题,不光重视数据管理,更强调模型管理对于决策的支持作用。可见, MIS 发展到 DSS 也标志着由数据管理到模型管理的扩展。

DSS依赖模型而得以发展,DSS由模型驱动而运行。因此模型是DSS的根本。

在 DSS中,对话部件支持决策者来使用这个系统,数据部件提供存取来作为制定决策的原始资料,而模型部件则是给决策者以通过推理、比较、选择来分析解答整个问题的能力。实际上,正是将模型引人信息系统才使得 MIS 向前进一步发展并成为决策支持系统。因此,不难看出,在 DSS 中模型部件的地位是十分重要的。

2.设计建模环境

SAS: SAS系统功能包括客户机/服务器计算、数据访问、数据存储及管理、应用开发、图形处理、数据分析、报告编制、质量控制、项目管理、运筹学方法、计量经济学与预测等。实际使用时可以根据需要选择相应的模块。

Matlab:Matlab集数值分析、矩阵运算、信号处理和图形显示于一体。在这个环境下,对所要求解的问题,用户只需简单地列出数学表达式、其结果便以人们十分熟悉的数值或图形方式显示出来。

Lindo:LINDO可以用来求解线性规划 (LP--Linear Programming)、整数规划

3

(IP--Integer Programming) 和二次规划 (QP--Quadratic Programming) 等问题。LINDO易于规划问题的输入、求解和分析,程序执行速度很快。

Lingo: LINGO 则用于求解非线性规划(NLP—NON—LINEAR PROGRAMMING)和二次规则(QP—QUARATIC PROGRAMING)其中LINGO 6.0学生版最多可版最多达300个变量和150个约束的规则问题,其标准版的求解能力亦再10^4量级以上。

SPSS:SPSS最突出的特点就是操作界面极为友好,输出结果美观漂亮SPSS采用类似EXCEL表格的方式输入与管理数据,数据接口较为通用,能方便的从其他数据库中读入数据。其统计过程包括了常用的、较为成熟的统计过程,完全可以满足非统计专业人士的工作需要。

Excell:Excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。

3.实验感想

通过这次实验,我认识到了在决策过程中建模的重要意义,掌握了许多关于模型的概念,包括模型分类,模型表示等,对于各类建模工具也有了初步了解。

4

实验二 数学模型

一、实验目的

掌握数学模型及其构建方法

二、实验内容

构建一个数学模型

三、方案设计与要求

1、参考本实验后附材料或教学演示,确定用于建模的决策问题。 2、明确变量和逻辑关系,必要时用假设简化问题,设定变量符号。

3、借用基本数学形式表达变量间的关系,需要时筛选变量,形成初步的模型形式。在无法进行严格的数学推导时, 可以使用“不严格”的数学形式。理解模型的语义含义和功能。

4、尽量使用实际资料检验数学结果,并用恰当的学科语言表达数学结果。 5、确定最终的模型。

四、实验结果(结论)

1.应用建模流程图

1)建模准备(实际问题):要了解问题的实际背景,明确建模的目的,掌握对象的各种信息,弄清实际对象的特征,情况明才能方法对。

(2)建模假设:根据实际对象的特征和建模的目的,在掌握必要资料的基础上,对原型进行抽象、简化并且用精确的语言作出假设,是建模过程关键的一步。

(3)模型建立:在建模假设的基础上,利用恰当的数学工具构造出刻画实际问题的数学模型。(数学工具越简

单越好)

(4)模型求解:利用获取的数据资料,对模型的所有参数做出计算(估计)。

(5)模型分析:对模型求解的结果进行数学上的分析。 (6)模型检验:将结果与实际比较,用实际现象、数据等检验模型的合理性和适用性,看它是否符合客观实际,若不符合,就修改或增减假设条件,重新建模,循环

往复,不断完善,直到获得满意结果。

5

(7)模型应用:一个成功的数学模型,必须根据建模的目的,将其用于分析、研究和解决实际问题,充分发挥数学模型在生产和科研中的特殊作用。

2.建模过程

(1)实际问题:寻找合适的网络节点 有4个通讯站A,B,C,D,它们在平面直角坐标系中的坐标依次为(0,0), (1,4), (2,1), (4,3)。试用通讯网络线将它们连接起来,使线路总长L最少,这里网络线只能与x轴平行或垂直。L最少值是多少?为什么?一般情形如何连接?若通讯站个数为5或6结论如何?

(2)抽象化简假设

对于坐标系的任意两点,最短路线的网络节点求法:

1).从水平方向看,即把所有点都投影到X轴上,只要节点的投影在两点的投影中间即可

2).从垂直方向看,即把所有点都投影到Y轴上,只要节点的投影在两点的投影中间即可

可见节点是不唯一的,对应的路线图也不唯一.为了求解的简化,期间所求的网络节点的横/纵坐标分别为各点的横/纵坐标的平均值,即: X=(x1+x2)/2 Y=(y1+y2)/2

(3)参数变量

参与这个问题的因素有横坐标和纵坐标。

(4)组建模型

同理类推,对于多点的网络,也只要求出其网络节点即可,即: X=(x1+x2+...+xn)/n Y=(y1+y2+...+yn)/n

(5)参数估计

此题中X=(0+1+2+4)/4=1.75≈2(四舍五入取整) Y=(0+4+1+3)/4=2 (6)运行检验

通过计算所有可能节点的总距离L,验证得该结论正确。 (7)判定符合性(结论)

大致符合实际情况,只因为实际工程中可能产生废料的情况使结果比实际值偏小。 (8)实际应用

应充分考虑工程可能产生的废料,防止实际误差偏大。

五、实验体会(收获)

1.数学模型是一种模拟,是用数学符号、数学式子、程序、图形等对实际课题本质属性的抽象而又简洁的刻划,它或能解释某些客观现象,或能预测未来的发展规律,或能为控制某一现象的发展提供某种意义下的最优策略或较好策略。它的建立常常既需要人们对现实问题深入细微的观察和分析,又需要人们灵活巧妙地利用各种数学知识。

2.通过这次实验,我对数学建模有了初步的认识,开始逐步学会利用数学模型和数学思维解决实际问题。

6

7

实验三 模型的人工求解

一、实验目的

掌握模型的传统解法

了解管理中所使用的模型及在决策中的应用

二、实验内容

模型的人工求解 实际问题的决策

三、方案设计(实验步骤)

选择一个管理决策问题。可选择本实验后附参考资料第二部分中的物资运输决策、本实验后附参考资料第一部分中的[例1]、前面试验涉及的决策问题,也可任选。

必要时自行建模。

先给出某个具体问题实例,然后人工求解模型。 进行决策。

总结

四、实验结果(结论)

1.决策问题

下表给出甲、乙、丙三种食物的维生素A、B的含量及成本: 维生素A(单位/千克) 维生素B(单位/千克) 成本(元/千克) 甲 400 800 7 乙 600 200 6 丙 400 400 5 营养师想购这三种食物共10千克,使之所含维生素A不少于4400单位,维生素B不少于4800单位,问三种食物各购多少时,成本最低?最低成本是多少?

2.建立模型 (1)、实际问题 (2)、抽象化简假设 ○1、假设产品的售价稳定,不随市场产生变化; (3)、参数变量

设所购甲、乙两种食物分别为x千克、y千克,则丙种食物为(10?x?y)千克,成本为z

(4)、组建模型

x、y应满足线性条件为

8

?400x?600y?400(10?x?y)?4400?y?2???800x?200y?400(10?x?y)?4800 ,化简得?2x?y?4

3.模型详细求解步骤

作出可行域如上图中阴影部分

目标函数为z=7x+6y+5(10?x?y)=2x+y+50,令m=2x+y,作直线l:2x+y=0,则直线2x+y=m经过可行域中A(3,2)时,m最小,即mmin=2?3+2=8,∴zmin=mmin+50=58答: 甲、乙、丙三种食物各购3千克、2千克、5千克时成本最低,最低成本为58元.

?y?2?指出:本题可以不用图解法来解,比如,由?2x?y?4得

z=2x+y+50=(2x?y)+2y+50?4+2?2+50=58,当且仅当y=2,x=3时取等号

五、体会(收获)

线性规划的理论和方法主要在以下两类问题中得到应用:一是在人力、物力资金等资源一定的条件下,如何使用它们来完成最多的任务;二是给一项任务,如何合理安排和规划,能以最少的人力、物力、资金等资源来完成该项任务。

通过本实验,我掌握了传统统计手段在建模中的重要应用。对决策概念有了更深的理解。

9

实验四 程序模型

一、实验目的

掌握程序模型的实现方法

二、实验内容

编制模型的计算机算法程序。 思考实现计算机算法的要求。

三、方案设计与要求

1、任选一个数学模型。

2、配置编程环境。

3、明确模型的人工解法,转变为计算机算法,进行必要的数据管理,并编程实现。

四、实验结果(结论)

1.数学模型

最小二乘法:一种数学优化技术,它通过最小化误差的平方和找到一组数据的最佳函数匹配。最小二乘法是用最简的方法求得一些绝对不可知的真值,而令误差平方之和为最小。最小二乘法通常用于曲线拟合。

设已知列表函数yi?f(xi)(i?0,1,?,m),并且我们想用一个通常的n(?m)次多项式去近似它。

pn(x)?a0?a1x???anxn---(1.1)

问题是应该如何选择a0,a1,?,an使pn(x)能较好地近似列表函数f(x)。按最小二乘法,应该选择a0,a1,?,an使得

S(a0,a1,?,an)??(f(xi)?pn(xi))2

i?0m取最小。注意到S是非负的,且是a0,a1,?,an的2次多项式,它必有最小值。 2.人工算法

求S对a0,a1,?,an的偏导数,并令其等于零,得到

?(yi?0mi?a0?a1xi???anxi)xi?0nk(k?0,1,?,n).

进一步,可以将它们写成

?yixi?a0?xi?a1?xikki?0i?0i?0mmmk?1???an?xii?0mk?n(k?0,1,?,n).

10

引进记号

sk??xi 和 uk??yixi,

kki?0i?0mm则上述方程组为

?s0a0?s1a1???snan?u0,?sa?sa???sa?u,?1021n?1n1 (1.3) ????????????????sna0?sn?1a1???s2nan?un.它的系数行列式是

s0Xn?1?s1?sns1s2?sn?1??sn?s2n.

?sn?1由si(i?0,1,?,2n)的定义及行列式性质,可以断言

Xn?1?1(W(?0,?1,?,?n))2. (1.4) ?(n?1)!此处符号W表Vandermonde行列式,而?是对所有可能的?i(i?0,1,?,n)求和(每个?i可

???j以取值x0,x1,?,xm,并且当i?j时i)。

由(1.4)式及Vandermonde行列式的性质可知,当x0,x1,?,xm互异时,

11?1?0?1??n W(?0,?1,?,?n)??02?12??n2?0.

????0n?1n??nn从而,Xn?1?0??0?,方程组?1.3?有唯一解a0,a1,?,an,且它们使?1.2?取极小值.如此,我们应用最小二乘法找到了f?x?的近似多项式pn?x?.

在利用最小二乘法组成和式?1.2?时,所有点xi都起到了同样的作用,但是有时依据某种理由认为?中的某些项的作用大些,而另外一些作用小些(例如,一些yi是由精度较高的仪器或操作上比较熟练的人员获得的,自然应该予以较大的信任),这在数学上表现为用和

11

2???????fx?px?inini i?0?i?1,??i通常称之为权;而?1.5?为加权和。 替代和?1.2?取最小值.?i?0,且i?1m

3.编程环境

在window7电脑系统,使用visual Basic 6.0编写调用程序。 4.详细计算机算法

使用vb输入数据控件模拟最小二乘法的二次多项式曲线拟合,以下是二次的算法解法:

2y?ax?bx?c 最小二乘法的二次多项式曲线拟合:

计算值?xi,yt?到实际值?xi,yi?的距离di

di?yt?yi?axi2?bxi?c?yi

误差的平方和为

Q??di2??(axi2?bxi?c?yi)2

求a、b、c使得Q的值最小。平方差Q大于0,因此函数存在大于或等于0的极小值,极小值为无穷大。

对a、b、c求偏导,令偏导等于0,得到极值点,比较所有极值点的函数值即可得到最小值。 ?Q??2?axi2?bxi?c?yi?xi2?0 ② ?a?Q??2?axi2?bxi?c?yi?xi?0 ③ ?b?Q??2?axi2?bxi?c?yi??0 ④ ?c解此方程组,先消去c

②*N - ④*

?x2i

N*?axi2?bxi?c?yixi2??axi2?bxi?c?yi*?xi2?0 N*?axi2?bxi?yixi2??axi2?bxi?yi*?xi2?0

?????????N?x??x*?x?a??N?x??x*?x?b???y*?x4i2i2i3ii2ii2i?N?xi2yi?0

?③*N - ④*

?x

iN*?axi2?bxi?c?yixi??axi2?bxi?c?yi*?xi?0 N*?axi2?bxi?yixi??axi2?bxi?yi*?xi?0

12

?????????N?x??x*?x?a??N?x??x*?x?b???y*?x?N?xy??0

3i2ii2iiiiiii令:

C?N?xi4??xi2*?xi2 D?N?xi3??xi*?xi2 E???????y*?xi2i?N?xi2yi

?G?N?xi2??xi*?xi H???yi*?xi?N?xiyi?

可解得

???Ca?Db?E?0 ??Da?Gb?H?0HD?EG

CG?D2HC?EDb?2

D?GCa?c??a?xi2?b?xi??yiN

2y?ax?bx?c。 最终拟合出来的结果二次多项式为

计算机算法:

1、输入所需解算的数据(也可用数据倒入数据);

2、运用最小二乘法处理数据,得到近似结果,并进行对结果的显示输出; 3、对模型计算得出的结果进行检验和评价。 5.完整源程序清单

在vb工程中,创有一个窗体,并在窗体上有一个按钮控件启动数据处理,以及一个文本控件来输入数据量。

Option Explicit

Private Sub Command1_Click()

Dim n As Integer, xy() As Double, i As Integer Dim a As Double, b As Double Form1.Cls

Print \从这开始计算!\If Text1.Text = \

MsgBox \请输入n的值!\注意\用文本框输入n的值!

13

Else

n = CInt(Text1.Text) If n <= 1 Then Exit Sub End If

ReDim xy(4, n)

Print \一共有\对数据!\For i = 1 To n

xy(1, i) = Val(InputBox(\自变量 X 的值:\ xy(2, i) = Val(InputBox(\因变量 Y 的值:\

xy(3, i) = xy(1, i) * xy(2, i) '求出每一对x与y的乘积 xy(4, i) = xy(1, i) ^ 2 '求出每一个x的平方值

Print \ xy(1, 0) = xy(1, 0) + xy(1, i) '所有x值的和' xy(2, 0) = xy(2, 0) + xy(2, i) '所有y值的和'

xy(3, 0) = xy(3, 0) + xy(3, i) 'x,y的乘积之和' xy(4, 0) = xy(4, 0) + xy(4, i) 'x的平方之和' Next i

a = (n* xy(3, 0) - xy(1, 0)* xy(2, 0)) / (n* xy(4, 0) - xy(1, 0) ^ 2) b = xy(2, 0) / n - a / n * xy(1, 0) '计算a,b的值 Print \拟合公式为:\

Print \ If a >= 0 Then Print \ Print a; \End Sub

Private Sub Form_Load()

Form1.AutoRedraw = True '运行界面 Form1.Caption = \最小二乘法拟合程序\ Print

Print \、输入数据数量;\

Print \、逐个输入各组数据;\

Print \、输出拟合公式。\ Print

Form1.Print \单击开始计算按钮运行...\End Sub

某组数据计算结果图:

14

五、实验体会(收获)

1.本次实验让我掌握了数学模型的程序化,即如何利用计算机来验证人工计算结果的正确性以及解决人工计算难以实现的难题。这就要求我们在对模型十分了解的情况下采用合适的编程语言对其进行阐述,从而增强模型的科学性和专业性。

2.这次的实验我选择了人口发展模型进行模拟。程序使用的直接在matlab中输入数据。由于对matlab不甚熟悉,所以未能采取更用户友好的方式来阐释这一问题,希望在不断地努力中得到改善。

15

实验五 模型表示与组合

一、实验目的

掌握模型的表示、组合及模型库的建立

二、实验内容

建立模型库/组合模型应用

三、实验方案设计与要求

1、设置开发环境。

2、将涉及的模型分类或分形式存放,构成层级文件夹,形成模型文件库。注意模型文件至少有源文件和目标文件两种形式。

3、建立索引表或分类索引表,索引内容包含模型编号、名称、模型文件名、以及模型文件路径,形成字典库。

4、建立一个模型库集成管理界面,也可自行设计开发模型库管理系统。

四、实验结果(结论)

1.系统开发环境

编程环境:使用Microsoft Visual Studio 2008。

Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代开发工具,代号“Orcas”,是对Visual Studio 2005一次及时、全面的升级。

VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用Visual Studio 2008可以高效开发Windows应用。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时Visual Studio 2008支持项目模板、调试器和部署程序。Visual Studio 2008可以高效开发Web应用,集成了AJAX 1.0,包含AJAX项目模板,它还可以高效开发Office应用和Mobile应用。

数据库:Microsoft SQL Server 2008

SQL SERVER 2008是一个关系型数据库管理系统。除了基本的的的数据库管理,还可以进行数据仓库管理和联机分布式处理。SQL SERVER 2008是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准的SQL语言、扩展的特性等功能。 2.模型库管理系统

决策支持系统的应用领域十分泛,各个不同的领域对模型库管理系统的要求也不一样。目前被广泛接受的对模型库管理系统的定义为:设M={M1,M2...Mn}为模型的集合,P 为施于M 上的操作的集合,则为一模型库管理系统。也可以说模型库管理系统是一个支持模型生成、存储、维护和应用的软件系统。决策支持系统概念中的模型管理管理系统

16

通常意味着一个模型的集合和模型管理工具程序的集合。模型管理系统的主要功能包括:辅助用户建立起与特定问题相关联的模型;提供模型库管理功能,使用户可以方便地使用模型库中的模型;辅助用户对模型库进行增减、存取等操作;提供模型库与其它子系统的界面,使用户可以方便地将模型与相关的数据联系起来:辅助用户进行模型的创建、检索、选择、修改等工作。

通过用例观察系统,能够将系统实现与系统目标分开,有助于了解最重要的部分满足用户要求和期望,而不会沉浸于实现细节。通过用例,用户可以看到系统提供的功能,先确定系统范围再深入开展项目工作。所以根据用户的需求我们判断出工厂物资管理信息系统所面向的用户应分为三大类:

1.最终用户,即信息系统的使用者。 2.模型库编写人员,即管理的专业人员。

3.信息系统中的其他模块

调用系统 启动系统

3.模型库文件分类

模型文件至少有源文件和目标文件两种形式:源文件是用来调用数据,目标文件是用来生成报表等公用。

4.模型字典

模型的子程序完成后,通过库存决策支持系统的模型管理系统添加到模型字典中,这

17

样库存决策支持系统就可以使用该模型。

◆一级模型字典 关系表含义 序号 1 2 3 4 5 6 7 8 9 10 11 一级模型字典 名称 ModelID ModelName ModelType ModelDescription ModelInput ModelOutput ModelForecast ModelDecision ModelFileName ModelExample ModelNotes 关系表名 说明 模型编号 模型名称 模型类型 模型功能描述 模型输入数据表编号 模型输出数据表编号 模型解决的预测问题 模型解决的决策问题 模型的程序名 模型的例子 备注

◆二级模型字典 关系表含义 序号 1 2 3 ?? 一级模型字典 名称 ModelID ModelParameter1 ModelParameter2 ?? ModelParameter n ModelNotes 关系表名 说明 模型编号 模型参数1 模型参数2 ?? 模型参数n 备注 ModelDetail 类型 长整型 字符型 字符型 ?? 字符型 字符型 ModelDictionary 类型 整型 字符型 长整型 字符型 长整型 长整型 字符型 字符型 字符型 字符型 字符型

对模型的操作,如添加、存储、修改、增加、删除、使用等要通过模型库管理系统来实现:模型库管理系统是整个系统的组织者,主要负责各个功能模块的调度、协调、以及模型库管理系统与模型库、数据库、方法库和系统用户之间的交互、通讯功能。 5.市场预测支持系统的功能结构

18

市场预测支持系统的功能结构

1)逻辑结构分析

根据产品市场需求预测的一般过程和预测支持系统的功能结构,系统的市场需求预测过程逻辑结构可由预测产品及其相关资料数据调入、预测模型选择、最佳预测模型确定及预测值的分析、修正等模块组成,如下图所示:

2)建库模块拓展

专 业人员 添加、删除、修改、优化模型 模型分类 专业管理 19 模型库

3)数据库逻辑设计

表3-1 管理员表

编号 字段名称 Id 用户名

密码 password

错误次数

errortime

数据类型 文本 文本 数字

允许空 否 否 否

表3-2 产品A销售数据表

编号 month sales place

字段名称 月份 月销售量 地区

数据类型 文本 文本 数字

表3-3 产品D销售数据表

允许空 否 否

编号 year sales

place 编号 year Q1 Q2 Q3 Q4

place

字段名称 年份 年销售量 地区

数据类型 文本 文本 数字

表3-4 产品F销售数据表

允许空 否

字段名称 年份 一季度销售量 二季度销售量 三季度销售量 四季度销售量 地区

数据类型 文本 文本 文本 文本 文本 数字

允许空 否 否

4)输入设计

本系统的输入主要来自于企业的销售数据库表,数据为企业以往的销售数据,无需手

20

工输入。

5)输出设计

当系统使用者选择历史销售数据、选择预测方法,设定相关参数后即可在界面上输出预测的销售数据,由于使用的是网页浏览的形式,系统使用者可以方便地把输出结果打印或另存为其他文件。

五、实验体会(收获)

本实验让我掌握了决策支持系统的数据库设计。通过将模型库知识与数据库相关知识结合,我学会了如何快速地开发模型库管理系统,并绘制了功能结构图,设计了数据表结构。

虽然在建模方面仍旧有所欠缺,导致建库过程中存在很多问题。但我坚信经过努力学习,一定能将这些难题一一攻克。

21

实验六 总控与DSS集成

一、实验目的

了解DSS系统集成方法,掌握总控部件和界面的实现

二、实验内容

1、设计数据部件

2、编制人机交互界面 3、编制总控程序

4、集成部件形成决策支持系统

三、使用方案设计与要求

1. 参考本实验后附材料选定要开发的系统,设想开发总体方案 2. 设计总控和人机界面 3. 部件集成和调试 4. 开发文档编写

四、实验结果(结论)

1.

企业决策支持系统DSS运行结构图:

22

2. 开发过程

2.1企业成本决策支持系统介绍

2.1.1主要内容

本系统根据时间序列法数学模型,即以时间序列为考察因素,统计企业以往的销售数据,分析企业销售数据随时间变化的发展趋势,以此来预测未来的销售量,为企业产品生产提供依据,增加企业利润。本系统的主要功能有查看以往销售数据、根据移动平均法来预测未来销售量、根据趋势平均法来预测未来销售量、设定移动平均的长度n、根据指数平滑法来预测未来销售量、设定平滑指数、根据趋势外推法来预测未来销售数据(趋势外推法可细分为指数曲线模型法和二次曲线模型法两种)、根据季节周期法来预测未来销售数据等。

2.1.2企业成本决策支持系统目的

所谓的预测就是鉴往知来,通过对过去事务的分析、研究,找出其发展变化的规律,从而预计和推测未来的情况。对于企业来说,有关经营管理的各种问题都需要作预测。例如,产品市场需求量预测,产品销售预测,产品成本预测等等。

但预测并不是最终目的,预测的作用和真正价值在于指导和调节人们的行动,以便做出正确的决策,采取适当的措施,谋求更大的利益。也就是说,预测是为决策服务的,预测工作的开展应该满足决策的需要。

2.1.3企业成本决策支持系统意义

在市场经济环境中,提高产品市场销售量、扩大产品市场占有率是企业赖以生存和发展的基础,而市场需求直接影响到企业产品的销售。因此,企业在制定经营战略和销售战略时,必须以市场需求变化为依据,运用各种科学方法和手段对产品市场需求做出预测,只有在充分了解和掌握市场需求的前提下,企业才有可能做出正确的决策,制定出切实可行的经营战略和正确有效的销售策略,在激烈的市场竞争中立于不败之地。由此可见,市场预测在企业的生产经营决策活动中有着极其重要的现实意义。

2.2企业成本决策支持系统方案设计

本系统由八大功能模块组成,分别是:(1)查看以往销售数据 (2)根据移动平均法来预测未来销售量(3)根据趋势平均法来预测未来销售量(4)设定移动平均的长度n(5)根据指数平滑法来预测未来销售量(6)设定平滑指数。(7)根据趋势外推法来预测未来销售数据 (8)根据季节周期法来预测未来销售数据

23

市场预测支持系统 查询历史销售数据移动平均法预测趋势平均法预测指数平滑法预测二次曲线模型预测指数曲线模型预测季节周期法预测系统参数设定

市场预测系统功能图

销售部销售数据P分析统计预测情况市场部 第一层数据流

市场预测系统组成结构

24

确定预测目标 拟定预测方案 搜集整理资料 建立预测模型 进行分析评价 修正预测结果

提出分析报告

市场预测决策流程图

2.3开发工具简介

2.3.1 Microsoft Visual Studio 2008

是面向Windows Vista、Office 2007、Web 2.0

的下一代开发工具,代号“Orcas”,是对Visual Studio 2005一次及时、全面的升级。

VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用Visual Studio 2008可以高效开发Windows应用。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时Visual Studio 2008支持项目模板、调试器和部署程序。Visual Studio 2008可以高效开发Web应用,集成了AJAX 1.0,包

25

Microsoft Visual Studio 2008

含AJAX项目模板,它还可以高效开发Office应用和Mobile应用。 2.3.2 SQL SERVER 2008数据库工具概述

SQL SERVER 2008是一个关系型数据库管理系统。除了基本的的的数据库管理,还可以进行数据仓库管理和联机分布式处理。SQL SERVER 2008是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准的SQL语言、扩展的特性等功能。

2.4软硬件环境

2.4.1 硬件环境要求 计算机必须满足的条件:

(1)CPU: Intel Pentium 166MHz或更高的处理器(推荐赛扬或更高的处理器),或任何运行于Microsoft Windows NT Workstation的Alpha的处理器。

(2) 操作系统: Microsoft Windows98/me/XP/2000或 Microsoft Windows NT Service/Workstation 4.0(推荐Service Pack 5)或更高版本。

(3) 监视器: Microsoft Windows支持的VGA或分辨率更高的监视器。 (4)内存:64MB内存以上。

2.4.2 软件环境要求

本系统适用于Microsoft Windows98/XP/2000 下开发的,所采用的开发工具是Vb6.0中文企业版。由于考虑到该企业每天的数据处理量,我们后台采用可Microsoft的Access2000数据库。

推荐桌面显示方式:1024*768像素。 2.4.3 软件安装

1.在系统上安装Microsoft Visual Studio 2008. 2.在系统上安装SQL SERVER 2008数据库.

3. 成本决策支持系统详细设计 3.1系统主界面

26

如果用户没有登录,则显示如下消息:

母版页中有一个登录和注册的模块,当点击时候,页面就会调转到登录页面,主要是用div的onclick事件。

当点击欢迎界面时:

进入登录页面后:

27

此处主要是用到了javascript中的setInterval(),设置定时器。

注册页面的基本功能都有,例如判断用户名和密码的长度,一定是否为空的验证,以及两次输入的密码是否相同等等,这里就不在一一举例。

主要是验证码的页面时调用另一个页面,传回来一张图片,当点击图片的时候,就会传给这个页面一个随机数,从而制造刷新页面的效果。 注册完之后用户会进入登录页面:

28

登录页面主要是用户名的判断,这些都要在数据库中寻找数据,然后如果用户登录密码错误三次或三次以上,那么就会提醒:

这里主要是在数据库空设置了一列,errortime用来记录用户登录的错误次数,当用户正确登录后就会设置为0,没错误一次都自增1.成功登录后,系统此时会进入welcome界面,下图是选择子系统和决策产品对话框 :

主界面

当用户正确登录后,将进入welcome页面,选择季节周期法,产品F,甲地区,使用季节周期法,得到的结果如下:

29

下图是决策过程总流程图,决策过程依照此流程来进行。

决策过程流程图

3.2.1数据流

1) 数据流编号:F1

数据流名称:销售数据; 简述:历年销售清单; 数据流来源:销售部; 数据流去向:分析统计;

数据流组成:销售年份+销售额; 数据流量:约1次/月;

30

高峰流量:约3次/月。 2) 数据流编号:F2

数据流名称:预测情况;

简述:统计部经统计分析得到的预测情况; 数据流来源:分析统计; 数据流去向:市场部;

数据流组成:预测时间+预测额; 数据流量:约1次/月; 高峰流量:约3次/月。

3.2.2处理逻辑

处理逻辑编号:P;

处理逻辑名称:分析统计;

简述:对销售数据惊喜分析统计和预测; 输入的数据流:销售数据;

处理描述:对销售数据惊喜分析统计和预测; 输出的数据流:预测情况; 处理频率:1次/月。

3.2.3主要功能代码

1)登录确认

string username = Convert.ToString(Session[\]); if (username == \) {

Response.Write(\您还没有登录,请先登录');window.location.href('denglu.aspx')\); } else {

lbl.Text = \欢迎\ + username + \登录本网站\; }

2)季节周期法 using System;

using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI;

using System.Web.UI.WebControls; using System.Data;

public partial class jijiezhouqifa : System.Web.UI.Page {

string sql = string.Empty;

31

protected void Page_Load(object sender, EventArgs e) {

string username = Convert.ToString(Session[\]); if (username == \) {

Response.Write(\您还没有登录,请先登录');window.location.href('denglu.aspx')\); // Response.Redirect(\ } }

protected void btnConfirm_Click(object sender, EventArgs e) {

int p = Convert.ToInt32(ddlArea.SelectedValue); if (ddlMethod.SelectedValue == \季节周期法\) {

sql = \ + ddlCate.SelectedValue + \ + p + \;

DataTable dt = DB.GetTable(sql); int rows = dt.Rows.Count;

DataColumn dc = new DataColumn(\, System.Type.GetType(\)); dt.Columns.Add(dc);

DataRow dr1 = dt.NewRow(); DataRow dr2 = dt.NewRow(); DataRow dr3 = dt.NewRow(); DataRow dr4 = dt.NewRow(); dr1[\] = \; dr2[\] = \; dr3[\] = \;

dr4[\] = Convert.ToDouble(dt.Rows[rows - 1][\]) + 1; dt.Rows.Add(dr1); dt.Rows.Add(dr2); dt.Rows.Add(dr3); dt.Rows.Add(dr4);

double Q1Sum = 0, Q2Sum = 0, Q3Sum = 0, Q4Sum = 0; for (int i = 0; i < rows; i++) {

double tempQ1, tempQ2, tempQ3, tempQ4;

tempQ1 = Convert.ToDouble(dt.Rows[i][\]); tempQ2 = Convert.ToDouble(dt.Rows[i][\]); tempQ3 = Convert.ToDouble(dt.Rows[i][\]); tempQ4 = Convert.ToDouble(dt.Rows[i][\]);

dt.Rows[i][\] = (tempQ1 + tempQ2 + tempQ3 + tempQ4) / 4; //计算各季平均

32

Q1Sum += tempQ1; Q2Sum += tempQ2; Q3Sum += tempQ3; Q4Sum += tempQ4; }

dt.Rows[rows][\] = Q1Sum; //计算合计值 dt.Rows[rows][\] = Q2Sum; dt.Rows[rows][\] = Q3Sum; dt.Rows[rows][\] = Q4Sum;

dt.Rows[rows][\] = (Q1Sum + Q2Sum + Q3Sum + Q4Sum) / 4; dt.Rows[rows + 1][\] = Q1Sum / rows; //计算同期平均值 dt.Rows[rows + 1][\] = Q2Sum / rows; dt.Rows[rows + 1][\] = Q3Sum / rows; dt.Rows[rows + 1][\] = Q4Sum / rows;

dt.Rows[rows + 1][\] = (Q1Sum + Q2Sum + Q3Sum + Q4Sum) / (4 * rows);

//计算季节指数

dt.Rows[rows + 2][\] = string.Format(\, 100 *

Convert.ToDouble(dt.Rows[rows + 1][\]) / Convert.ToDouble(dt.Rows[rows + 1][\]));

dt.Rows[rows + 3][\] = string.Format(\,

Convert.ToDouble(dt.Rows[rows - 1][\]) * Convert.ToDouble(dt.Rows[rows + 2][\]) / 100);

dt.Rows[rows + 2][\] = string.Format(\, 100 *

Convert.ToDouble(dt.Rows[rows + 1][\]) / Convert.ToDouble(dt.Rows[rows + 1][\]));

dt.Rows[rows + 3][\] = string.Format(\,

Convert.ToDouble(dt.Rows[rows - 1][\]) * Convert.ToDouble(dt.Rows[rows + 2][\]) / 100);

dt.Rows[rows + 2][\] = string.Format(\, 100 *

Convert.ToDouble(dt.Rows[rows + 1][\]) / Convert.ToDouble(dt.Rows[rows + 1][\]));

dt.Rows[rows + 3][\] = string.Format(\,

Convert.ToDouble(dt.Rows[rows - 1][\]) * Convert.ToDouble(dt.Rows[rows + 2][\]) / 100);

dt.Rows[rows + 2][\] = string.Format(\, 100 *

Convert.ToDouble(dt.Rows[rows + 1][\]) / Convert.ToDouble(dt.Rows[rows + 1][\]));

dt.Rows[rows + 3][\] = string.Format(\,

Convert.ToDouble(dt.Rows[rows - 1][\]) * Convert.ToDouble(dt.Rows[rows + 2][\]) / 100);

gvData2.DataSource = dt; gvData2.DataBind(); }

33

} }

3.3数据库设计

下面是具体数据表的设计,其中表名和字段命名规则都是采用中文输入。

表3-1 管理员表

编号 字段名称 Id 用户名

密码 password

错误次数

errortime

数据类型 文本 文本 数字

允许空 否 否 否

表3-2 产品A销售数据表

编号 month sales place

字段名称 月份 月销售量 地区

数据类型 文本 文本 数字

表3-3 产品D销售数据表

允许空 否 否

编号 year sales

place 编号 year Q1 Q2 Q3 Q4

字段名称 年份 年销售量 地区

数据类型 文本 文本 数字

表3-4 产品F销售数据表

允许空 否

字段名称 年份 一季度销售量 二季度销售量 三季度销售量 四季度销售量

数据类型 文本 文本 文本 文本 文本

34

允许空 否

place

地区 数字 否

五、实验体会(收获)

1.通过本实验的学习,我基本了解DSS系统集成方法,一步一步的根据指导书去练习,最终完成了DSS的集成,感觉学到了不少东西。

2.通过这次试验使我对于专家决策支持系统的分析设计更加明了,对于原先在课堂上的理解掌握的基础理论知识是一次实际的使用和操作,对于设计整个系统有了统一的、整体的概念和思路。对于我今后在这方面的学习研究帮助很大

35

place

地区 数字 否

五、实验体会(收获)

1.通过本实验的学习,我基本了解DSS系统集成方法,一步一步的根据指导书去练习,最终完成了DSS的集成,感觉学到了不少东西。

2.通过这次试验使我对于专家决策支持系统的分析设计更加明了,对于原先在课堂上的理解掌握的基础理论知识是一次实际的使用和操作,对于设计整个系统有了统一的、整体的概念和思路。对于我今后在这方面的学习研究帮助很大

35

本文来源:https://www.bwwdw.com/article/4aj3.html

Top