一个商业决策支持系统的设计与实现
内容摘要:本文介绍一个商流计划决策支持系统的设计思想和实现方法,并讨论开发基于知识的决策支持系统的策略。本文对决策支持系统中的问题处理系统和模型库的组织提出了新观点,给出pps的功能结构和模型的三层表示法。把组件技术引入到系统设计与实现中来,用三层client/server结构来实现dss。
关键词:决策支持系统 商流计划 问题处理系统 模型库 组件技术
决策支持系统(dss)是一个日趋被人瞩目的计算机应用领域。目前dss的研究正向群体决策支持系统(gdss),智能决策支持系统(idss)方向发展。公认的dss系统结构为四库一体,即模型库、算法库、知识库和数据库。在这一结构中模型及其管理是基础,也是系统成败的关键。本文介绍一个基于知识的四库一体的商流计划决策支持系统sldss的设计思想与实现方法。
系统设计思想和系统结构
商流计划是大型商业企业对本企业商品购进、销售、调配和存储各环节中各种经指标制定的目标规划,时间跨度一般为一年。商流计划应明确指出下一年度中各个季度,各个月份商品进、销、调、存中各个经营指标。商流计划的范围和内容不同的企业可能有不同的要求,但一般应包括进、销、调、存货物的数量和金额,毛利和利润额,各种费用额等。商流计划决策是典型的半结构决策问题,既需要对影响商流计划的诸因素进行定性分析又要对各因素的影响程度进行定量计算。为此,商流计划决策支持系统的主要目标是:如何对影响商流计划的各因素进行定性分析和定量计算,尽可能的帮助决策者把握市场变化的幅度,从而预测未来一年的销售总水平;根据预测结果对商品的购进、调配和存储以及企业各种经营指标提出多种商流计划的可行方案。
从实际使用的角度出发,系统应尽可能地准确模拟决策过程,所建立的模型也应尽可能是实际决策过程的描述,以期对决策者的支持更有效。另外,系统的设计应向dss生成器的方向发展,应充分体现基于知识的特征。为此,系统的设计思想为:系统能获取、存储商业领域的经营决策经验(知识),并能准确地应用这些经验;系统使用方便,适应性强,便于修改、扩充;系统能帮助用户建立、集成、修改、查询以及正确使用各种模型;提供“友好”的用户界面;采用较先进的三层client/server系统结构,把组件技术引入到系统设计和实现中来。
为此,sldss的系统结构见图1:
在该系统结构中用户(客户端)发送请求,通过问题处理系统(中间层)对问题进行分解后,选择相应的决策模型(服务器端)对问题进行求解并返回结果,当然用户也可以直接访问各子系统。在这一结构中问题处理系统是关键,它协调各部件的运行。下面分别介绍系统结构中各部件的功能。
问题处理系统pps
pps是用户与系统的接口,它起着衔接用户与系统环境的桥梁作用,系统通过pps对决策问题进行分类并确定问题求解的策略。为此,pps是反映系统功能的主要部件之一,也是整个系统的窗口。
pps根据商流计划的一般要求把商品分成了12大类。sldss中的pps根据商品的种类不同分别为用户提出制定商流计划指标决策的解决方案。sldss中pps结构如图2:
识别器的任务是对用户提出的问题进行识别和判断,并引导其进入相应的处理入口。
推理机是pps的关键部件,它根据模式知识,通过协调器调用系统环境来对用户提出的问题加以处理。其中模式知识是对具体决策模式的抽象化、规则化。模型知识的加工过程也是sldss的系统分析过程。协调器根据推理机的“智能”分析,完成系统调用,实现具体问题的构模任务。
系统状态参数是对决策过程的跟踪,从决策过程的非连续性出发,对系统的这种跟踪是必要的。
基于四库的系统环境
模型库管理子系统
模型及其管理是dss的重要工作,本课题把组件技术引入到dss模型的设计与实现中来,把dss基模型定义为一个结构级组件,把dss复合模型定义为由基模型经复合运算复合而成。定义如下:
定义1:我们把称为一个dss模型模式。这里的s表示模型的属性集合,它包括模型的标示id、模型的类型type,以及反映模型功能和行为的变量;p可以包括对上述信息的操作和该模型向外界所提供的服务,p对s封闭;e表示模型所产生各类消息的事件集合;i为模型的多重接口,多重接口为模型的连接和了解一个模型的功能提供了一个窗口;o为模型中操作次序,它是反映模型中操作或子模型标示的一个构造数据类型,对基模型一般为空,对复合模型它反映了求解问题的步骤。
定义2:对任何dss模型m(d(d为论域),dss模型m为dss模型模式的一个实例,dss模型记为:m=;m=<{},{},{},{},{}>称为空模型,记为mφ。
这里定义的dss模型是一种结构级的组件。根据上述定义,我们可以定义模型的连接运算。
定义3:设m和n为两个dss模型,如果修改模型m将影响模型n的运行或功能,则称模型n依赖模型m,记作:m→n。如果模型n不依赖模型m,则记作:m↑n。如果模型n依赖模型m,而模型m又依赖模型n,则称模型m与模型n相互依赖,记为m←→n。
定理1:设a、b、c为三个dss模型,如果a→b,b→c,则有a→c。
定义4:设m1、m2、...、mn和n为dss模型,如果有m1→n、m2→n、...、mn→n,则称n为由m1、m2、...、mn组成的dss复合模型。
dss的基模型和复合模型是相对的,一个复合模型在构造更复杂的dss决策过程模型时,又成为基模型。所以,在不造成混乱的情况下,可对两个概念不加区分。根据上述定义,我们可以使用组件开发工具实现dss基模型,对dss复合模型的设计与实现本课题采用下面策略。
构成dss复合模型中所用的基模型m1、m2、...、mn之间的关系有两种情形。其一是它们由纯粹基模型构造,并且它们之间不存在着依赖关系,即不存在基模型mi、mj使mi→mj;其二是由基模型之间存在依赖关系,即存在基模型mi、mj使mi→mj成立。对第一种情形我们可以通过组件容器把基模型组合成复合模型或通过编写程序的方法把基模型复合成复合模型,这里不再讨论。下面着重讨论第二种情形。两个基模型存在依赖关系意味着两个模型之间有消息的传递和方法的调用。我们可以采用在两个模型之间建立连接器的方法解决消息的传递和方法的调用,连接器与基模型的关系如图3。
这种dss模型的调用关系与组件对象模型的调用关系有所不同。在组件对象模型的调用中,模型mi 通常作为事件源,mj做为事件的接受者,并在接到事件后执行相应的操作。而在dss复合模型中mj做为事件源,mi作为事件的接受者,mi在接到事件后执行相应的操作或模型mj回调mi中的方法。
sldss的模型库管理子系统提供的功能包括自动建立模型、模型维护和模型的运算。
知识库管理子系统
sldss的知识库中存放了两类知识,事实类和规则类。对事实类的知识,如“今年银行利率增加”,表示为“zj(利率)”;再如,对于批处理的模型知识表示为goto(start,dlmxl);goto(dlmxl,jgsc),对规则型的知识以下列形式存放于规则库中,rule(规则号,[条件1,条件2,条件n],结论)。例如,“如果工农业生产情况正常且银行利率不便且物价变化幅度不大,则用一元回归分析销售量,可表示为:rule(22,[zj(“工农业”),bb(“利率”), bb(“物价”)] ,zx(“一元回归”))。
sldss中的知识库由若干子库构成,不同的知识按其类别存放在不同的子库中,这样有利于知识的管理,同时也大大的提高了推理机的搜索速度。知识的推理采用正向推理和反向推理两种推理策略,对于专业领域知识的推理都采用正向推理,对系统知识的推理采用了反向推理策略,既方便又迅速。而对专业领域知识采用正向推理策略与实际情况较接近。
算法库、数据库的组织与管理
算法库的组织及管理sldss中算法库存放了一些与模型有关的算法,算法是模型的实现。这些算法以它们的计算机程序和有关算法使用的“智能”信息存放在算法库中,通过算法字典统一管理,算法库字典的结构为:
算法库字典是算法管理的主要依据,算法库的维护也就是其字典的维护,另外,算法库字典又是使用算法的事实性知识,系统推理机通过算法库字典的读取来完成算法的选择工作,算法库管理提供的功能有:算法建立;算法查询;算法修改;算法删除。
数据库的组织与管理sldss的数据有两种类型。其一是企业内部运行数据,这类数据可以采用关系模型加以描述并存储,这里不做讨论。其二是模型描述数据,这类数据描述了模型的属性、调用的条件、返回结果的要求和模型的功能(操作),它实际上是组件的接口。sldss中的模型采用三级结构表示法,这种表示法与人工智能中知识的框架——槽值表示法相对应。如线性规划模型,它的三级表示如下:
第一级结构:模型id,模型名,模型用途,模型类型,算法名,同名序号,结果地址,二级结构id;第二级结构:二级结构id,变量数,方程数,同名序号,三级结构id;第三级结构:三级结构id,变量上限,变量下限,方程系数,方程系数2,方程系数3,方程系数n。
在上述三级表示中,第二级、第三级结构可以不同,这要根据具体模型而确定,但第一级结构对任何模型都是相同的,它是模型库的字典,是模型库管理的主要依据。