决策支持系统作业Word文档下载推荐.docx
《决策支持系统作业Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《决策支持系统作业Word文档下载推荐.docx(39页珍藏版)》请在冰豆网上搜索。
《
调用投入产出数据库中的数据,根据投入产出模型的分析结果,得到投入产出表,并将其打印出来。
不需要输入参数,可以手动调用,也可以用时间来触发,生成表格。
2、数据库
1.投入产出数据库
首先对数据进行初始化,存入投入产出相关的数据,包括最终产品Y=(yj),各种产品的单价Pi,它们的投入产出直接消耗系数A=(aij),企业总产品向量X=(xi)等用于投入产出表计算的重要数据,方便模型对数据的提取。
数据库本身可以对数据进行维护,如自动初始化,自动更新等操作。
字段名
<
数据类型
长度
是否可为空
最终产品
*
int
8
、
是
;
……
}
产品单价
float
16
,
【
-
直接消耗系数
·
\
:
2.,
3.线性规划数据库
对数据进行初始化,存储的数据包括最终产品Y=(yj),各种产品的单价为Pi,资源消耗系数矩阵B=(bij),企业总产品向量X=(xi)企业的资源(煤、电力、劳力)的约束方程为BX<
)目标方程S=ΣPiyi等线性规划是需要的数据。
^
资源消耗系数
]
总产品
(
>
资源约束
|
h
…
#
!
》
$
¥
三、总控程序
(1)
根据系统提示选择需要的服务,输入提示要求的相关数据,保存到数据库中。
(2)
调用投入产出模型,提取投入产出数据库中A、Y作为模型的输入参数。
调用模型内部的公式解决问题,根据输入参数判断需要输出的是中间结果还是最终结果,将结果输并存入投入产出数据库中。
(3)
调用线性模型,提取线性规划数据库中的数据作为输入参数,根据模型内部公式进行数据计算,既要符合约束条件,又要使得目标函数值最大,最终得出Y向量,将结果输出并存入投入产出数据库。
(4)
调用投入产出模型,提取投入产出数据库中的A、Y作为输入参数。
调用模型内部公式计算出需要的结果X,根据输入参数判断需要的输出结果,输出结果,并存入投入产出数据库。
(5)
调用报表模型,提取投入产出数据库中的数据,得出投入产出表并打印。
四、运行结构图
2、教材中节物资分配与调拨决策支持系统,详细给出模型库设计,包括主要模型、存储形式说明,数据库设计,各接口说明(各模块之间的调用顺序、数据存取关系)。
(30分)
一、分析问题
%
物资分配调拨问题是根据各单位提出对物资的需求申请,按仓库的库存情况制定分配方案,再根据分配放案以及仓库和单位的距离制定物资运输方案。
最后按照物资运输方案制定各仓库的发货表和各单位的接收表,修改各仓库库存数和各单位的物资数。
该决策问题需要设计多个数据库和多个模型共同求解。
总的处理流程如图:
图3物资分配调拨流程图
2、具体方案
通过上述分析可知该决策问题共涉及6个模型:
汇总模型,预处理模型、分配模型、运输优化模型、调拨模型、制表模型。
其中汇总、预处理、调拨、制表模型都是数据处理模型,属于管理业务工作。
分配和运输优化属于数学模型。
分配模型属于平衡分配决策,它要达到的目标是使物资分配尽量合理,该模型的计算公式是分配决策方法之一,也可以采用别的分配方法。
运输模型属于优化决策,它使运输过程达到总吨公里数最小。
该6个模型以程序形式出现,均放入模型库中。
该方案包括十个数据表
(1)单位申请数据表;
(2)仓库库存数据表;
(3)物资总申请数据表;
(4)物资总库存数据表;
(5)物资分配数据表;
(6)距离数据表;
(7)物资调拨数据表;
(8)仓库发货数据表;
(9)单位收货数据表;
(10)单位物资数据表。
三、具体表设计
(1)单位申请数据表
名称
类型
是否允许为空
描述
marketno(pk)
char
3
否
单位号
goodsno(fk)
13
资源编号
goodssum
bigint
10
申请数量
(2)仓库库存表
.
w_no(pk)
仓库号
资源号
goodsnum
库存量
unit
varchar
6
数量单位
(3)物资分配数据表
@
;
分配数量
(4)距离数据表
w_no(fk)
distance
距离
计量单位
(5)物资调拨分配数据表
(6)单位收货数据表
—
收物数量
(7)仓库发货数据表
~
发物数量
(8)物资总库存数据表
是否为空
W_no(pk)
Goodsno(pk)
物资号
物资数量
。
(9)物资分配数据表
Marketno(pk)
四、各接口说明(各模块之间的调用顺序、数据存取关系)。
物资申请和库存的计划汇总
1.各单位按自己的需求提出对各物资的申请
申请数据库为:
Di={SQ(W1),SQ(W2),…}i=1,2,3…()
其中Di表示第i各单位,SQ(Wj)表示申请物资Wj的需要数量。
将各单位的申请数据库汇总成各单位对物资的需求量,形成总申请数据库。
Wj={SQ(D1),SQ(D2),…}j=1,2,3…
其中SQ(Di)表示第i个单位对物资Wj的申请数量。
该项数据处理需要编制程序,类似于数据库的旋转来完成。
2.各仓库度物资的可供应情况
Ki={XY(W1)—KD(W1),XY(W2)—KD(W2),…}i=1,2,…()
其中Ki表示第i个仓库;
XY(Wj),KD(Wj)分别表示该仓库中物资Wj的现有数量和最低储备量;
XY(Wj)—KD(Wj)表示物质Wj的可供量。
各仓库的多物资的可供应情况汇总成某一物资个仓库的可供量,形成总库存数据库。
Wj={XY(K1)—KD(K1),XY(K2)—KD(K2),…}()
该项数据处理工作,要在数据库中计算出可供量后,再进行类似于数据库旋转来实现。
该计划汇总工作构成数据处理模型,它与数据库的关系如图:
图4计划汇总模型与数据库的关系
制定物资的分配方案
物资分配方案是利用物资分配模型来完成的,该分配模型是通过一系列公式实现。
1、比较分配情况
对同一物资Wj计算总可供量S(各仓库可供量之和)与总申请量Q(各单位申请量之和)的大小。
2、物资分配方法
(1)!
(2)总可供量大于等于总申请量S≥Q
完全满足各单位的申请数量,即各单位的分配数量FB(Dj)等于他的申请量。
FB(Dj)=SQ(Dj)()
(3)总可供量小于总申请量S〈Q
这里有2种处理方法:
A、'
B、按申请比例削减
FB(Dj)=SQ(Dj)*S/Q
C、按优先类别分配
各单位按需求物资的需求程度有一个优先类别
该模型是一个数学模型。
模型和数据库之间的关系如图:
图3物资分配模型与数据库的关系
其中物资分配数据库中每条记录表示每种物资分配给各单位的具体数量。
物资调拨预处理
在制定物资分配方案中已经确定了每种物资给各接收单位的分配数量。
具体由哪个仓库调拨多少物资到哪个单位去,就有运输问题的线性规划来解决。
但决定哪几个仓库,哪几个接收单位之间实现调拨供应是需要进行预处理的。
每种物资的调运中,参加调运的仓库和接收单位都是不一样的,是随机出现的。
参加调运的仓库是由该仓库提供某物资的可供量是否大于零来决定。
参加调用接收单位要看他接收某物资的分配数大于零来决定。
每个仓库到所接收单位的路程,存入一个距离数据库中。
对每一种物资,由于参加调运的仓库和单位不同,要形成参加调运的实际距离矩阵,这就要对每个距离记录进行挑选,挑选后形成小的实际距离矩阵,再形成好实际调拨矩阵后,才可以进行运输问题的线性规划运算,计算出有哪个仓库运多少物资给某个接收单位。
这个物资调运预处理是一个数据处理模型,用数据库中投影操作来完成。
该模型完成了物资调用预处理后,接着就可以进行物资运输调拨了,当求出具体解后,由调拨方案的解回到原数据库中的位置,由数据库反投影操作来完成。
该模型和数据库之间的关系如图:
图6物资调拨预处理模型和数据库的关系
制定物资运输方案
利用运输问题数学模型的具体求解方法,制定各物资的运输方案。
该模型和数据库之间的关系:
图7运输问题模型和数据库的关系
运输问题的计算机算法实现:
物资调拨数据库中每条记录表示有各仓库运给各单位的具体数量。
从距离表中选出能够提供A资源的仓库,若S>
=Q即库存量>
=申请量,我们采用产销不平衡的沃尔格运输方法;
若S<
Q,则按产销平衡沃尔格运输方法计算。
制定物资调拨方案
利用物资调拨数据库中调拨物资的数量,经过物资调拨模型将所有物资仓库调拨给单位所有的数量,转换成个仓库的发货数据库和各单位的接收数据库,在制定表格,打印各仓库的发货报表和各单位的收货报表。
制定物资调拨方案包括物资调拨模型和制表模型,他们都是数据处理模型。
其中物资调拨模型完成物资调拨汇总工作(类似于计划汇总的旋转处理),同时修改库存和物资的两个数据库。
制表模型完成发货和收货报表的打印。
它们和数据库之间的关系如图:
图8物资调拨与制表模型与数据库的关系
物资分配调拨决策支持系统体系结构
为了使模型部件和数据部件有机结合,要建立总控程序,即控制各模型有序运行,数据有效存取,同时进行必要的人机对话,允许决策用户修改分配方案和调拨方案,形成决策支持系统,达到人机共同进行决策。
该决策支持系统的基本方案按目前分析的模型和数据库进行组合运算,得到辅助决策信息。
其运行结构如图:
3、考虑去卡拉OK厅唱歌的时候,是否要等待包间的问题。
规定如下属性可用于描述该领域内的实例:
(1)Others(其他地点):
附近是否有其他卡拉OK厅;
(2)WaitCond(等候条件):
供顾客等候的地方是否舒适;
(3)Weekend(周末):
若是周六或周日,则为真;
(4)Conssumers(顾客):
店中有多少顾客(值为None(没人),Some(一些)或Full(满座));
(5)Price(价格):
价格范围(值为Cheep(便宜),Middle(中等),Expensive(较贵));
(6)Raining(下雨):
外面是否在下雨;
(7)Reservation(预约):
是否预约过;
(8)WaitEstimate(等候时间估计):
估计的等候时间(值为0—10,10—30,30—60,>
60,单位为分钟)。
训练集见表:
实例
属性
目标WillWait
Others
WCond
WEnd
Cons
Price
Rain
Res
WEst
X1
Yes
No
Some
EX
0-10
X2
Full
CH
30-60
X3
X4
'
10-30
X5
60
X6
MID
X7
None
X8
X9
X10
X11
X12
要求:
建立BP神经网络模型,并进行容错性分析。
(25分)
】
解:
通过对训练集进行训练建立神经网络模型,首先对训练集输入数字化,之后建立神经网络,设置输入输出向量,网络层数及网络各层权值阈值。
然后进行训练得到神将网络模型。
最后进行容错分析,可以训练原训练集的数据,分析网络的准确性,均方差的误差值等,也可以对原训练集数据稍作修改,看是否会影响所作的决策。
对训练集数据修改后如下表,用来进行容错分析。
1
-1
[
!
{
1:
等待0:
不等
在MATLAB中运行如下代码
P=[1000-1011;
100-11000;
01001001;
101-1110;
101-1-101-1;
01000111;
01011101;
00000111;
011-1110-1;
111-1-101;
00011001;
111-11000;
]'
T=[101101010001];
pause;
运行结果
net=newff(minmax(P),[3,1],{'
tansig'
'
purelin'
},'
traingdm'
Warning:
NEWFFusedinanobsoleteway.
Innntobsuat18
Innewffat105
SeehelpforNEWFFtoupdatecallstothenewargumentlist.
net=
NeuralNetworkobject:
architecture:
numInputs:
1
numLayers:
2
biasConnect:
[1;
1]
inputConnect:
0]
layerConnect:
[00;
10]
outputConnect:
[01]
numOutputs:
1(read-only)
numInputDelays:
0(read-only)
numLayerDelays:
subobjectstructures:
inputs:
{1x1cell}ofinputs
layers:
{2x1cell}oflayers
outputs:
{1x2cell}containing1output
biases:
{2x1cell}containing2biases
inputWeights:
{2x1cell}containing1inputweight
layerWeights:
{2x2cell}containing1layerweight
functions:
adaptFcn:
'
trains'
divideFcn:
(none)
gradientFcn:
calcgrad'
initFcn:
initlay'
performFcn:
mse'
trainFcn:
parameters:
adaptParam:
.passes
divideParam:
gradientParam:
initParam:
performParam