网络化煤炭销售决策专家系统关键技术

2012-02-18 01:28邱占芝巨贝贝
大连交通大学学报 2012年4期
关键词:字段知识库单价

邱占芝,巨贝贝

(大连交通大学 软件学院,辽宁 大连 116028)

0 引言

随着企业信息化建设的快速发展,煤炭企业生产与经营信息呈现出非线性递增趋势.然而信息量的海量增长并不能直接简化企业决策本身,煤炭企业的销售决策仍然是以决策者的经验和直觉为基础.如何将市场信息、客户信息、企业生产信息、铁路运力等诸多数据[1]和决策经验有机结合,通过既定逻辑推理做出科学的分析,从而制订最佳的决策,成为企业的迫切需求和信息化建设的热点.

网络化煤炭销售决策专家系统(CDES,Coal sales Decision making Expert System)利用专家系统的基本理念,综合集成了智能化综合销售数据库和专家知识库,通过模拟专家的推理逻辑得出更接近求解环境的决策结论,为决策者提供具有专家水准的咨询帮助,提高决策的科学性和有效性.CDES可根据市场供求动态数据,生成自适应的煤炭价格,并根据客户的相应历史记录,有浮动的调整销售价格;根据已签订合同和矿区生产情况预测未来销售情况,有效把握市场动态、客户需求和生产情况.专家系统的自学习能力,一方面通过决策者参与系统的决策过程提高了系统的决策技能,另一方面大量的数据流入为决策者制定相应决策提供了更为宽泛的选择空间.

1 系统主要功能

网络化煤炭销售决策专家系统架构于煤炭企业现有的信息管理系统基础之上,一方面通过构建煤炭销售决策知识库提供既有专家经验的决策支持,另一方面通过集成的智能化综合销售数据库,利用商业智能(Business Intelligence,BI)技术,对企业数据进行有效挖掘并形成初级潜在规则,这些初级规则进过煤炭销售专家的验证与抽象,成为具有真正决策价值的销售经验.系统通过两方面的集成实现信息技术和专家经验的融合,具有高效的决策科学性及智能性.

系统具体功能包括对已签订合同的单个客户进行月、季度以及年销售计划的决策及预测,主要模块包括:单价决策,销售量预测,知识库管理,系统管理等,系统管理主要包括用户登录管理、权限管理、对过往决策内容提供查询及对各类数据库的维护.

(1)单价决策

单价决策功能完成对合同客户销售计划中煤炭单价的决策,其决策结论主要从客户信息、煤质信息、市场供需、以及国家政策这几个方面综合分析得出.客户信息分析:从合同信息区分客户类型、运费计算情况;通过查询客户有无商业纠纷或者不良购煤行为等信息,自动确定信用等级,通过查询客户回款情况进行价格适当调整;煤质信息分析:根据各煤种有效定价参数,通过转换公式计算各煤种单价区间;市场供需分析:有无自然灾害、人为事故和季节因素影响市场总体价格;国家政策分析:国家近期有无对整体煤价进行价格调控.

(2)销售量预测

销售量预测功能可根据合同客户签订的合同信息、矿区生产情况以及库存量,对签订合同客户进行销售量的预测,影响因素包括客户合同情况以及库存量,其预测区间可选择按月、季度或者年.

(3)知识库管理

知识库管理功能面向专家接口,管理对象为对本系统所使用的知识模型.专家系统在使用之后,为了保证其结论的有效性,需要对知识库进行维护,维护内容包括:结合市场情况增加新的决策知识,删除、修改不合理的知识以及对更新后的知识进行正确性、一致性、完整性检查,提高知识的质量.

2 体系结构

2.1 总体结构

系统主要包括知识库、综合信息数据库、知识库管理器、推理机、事实库、解释器、数据库维护以及人机交互界面几个部分,如图1所示:

图1 系统结构图

知识库是专家系统重要组成部分,是专家经验和知识的存储体;推理机实质上是知识库的一个解释器[2],其根据一定的推理逻辑应用知识来求解用户输入的实际问题;解释器帮助用户理解整个问题求解的推理过程;事实库中存放用户输入的待解决问题信息、推理过程中产生的过程数据以及供解释器调用的事实数据.

综合信息数据库是整个系统的数据基础,其一方面为逻辑推理过程提供可靠数据,例如运销管理系统数据库的各种报表,客户信息、矿区生产信息、合同信息等;另一方面通过DW、OLAP工具和DM等商业智能技术,从数据中挖掘出隐含的、先前未知的、对决策有潜在价值的关系和趋势,专家通过分析、抽象和优化,从而得出深层次上的决策信息.

系统采用三层浏览器/服务器(简称B/S)结构,其分离的业务逻辑层、表示层和数据处理层大大提升了系统的数据处理能力、稳定性和安全性.数据库管理系统采用微软公司的SQL Server2005,其不但完成对数据准确且高效的处理,又能保障数据的安全性、系统维护与升级的便捷性.

2.2 知识库

设计知识库的首要问题就是根据煤炭销售决策要求确定适当的知识表示方法,从而保证其知识的可扩充性、简洁性和清晰性[3].本系统知识库分为常识性知识和专业知识两大部分,包括煤炭行业各类相关标准、法律法规、书籍知识以及专家长期总结的经验知识等,因此知识表示采用较为成熟的产生式规则表示方法[4],即IF P THEN Q的形式.知识获取方式主要由人工挖掘、搜集、分析、综合、整理、归纳将知识结构化,最终以sql语句的形式存入关系数据库.系统知识库包括rule表、fact表和formula表,表结构如表1~表3.

表1 rule表结构

表3 fact表结构

Rule表中存放规则信息,其中:①id:规则编号,作为主键;②premier:规则前件;(3)conclu-sion:规则后件;Formula表中存放公式以及其条件的对应关系:①id:公式编号;②formula:公式;③condition:计算公式所需的条件;Fact表中存放事实信息及相对应的sql语句,其中:①id:事实信息编号;②description:事实信息;③sql:事实信息对应的sql语句.

rule表中premier和conclusion字段以及formula表中formula和condition字段存入的内容均来自fact表中的id号.Rule表中的一条记录代表一条规则,formula表中的一条记录代表一个公式所需的一个条件.

例如煤炭销售决策中决定单价部分,如果客户今年合同表中的合同单价<1这代表此合同单价计算方式为以卡计价,则实际单价=合同单价*热值/0.238 89;如果合同单价≥1,则实际单价等于合同单价.规则如下:

(1)规则1:如果当年合同表中有此客户,则查询当年合同单价;

(2)规则2:如果合同单价<1,则实际单价=合同单价*热值/0.238 89值;

(3)规则3:如果合同单价>1,则实际单价=合同单价.

rule表和fact表内容如表4~表6:

表4 实例fact表(X年份,Y表示客户编号)

表5 实例rule表

表6 实例formula表

2.3 推理机

为了保证煤炭销售专家系统推理机的效率,系统采用判定树推理方法,以正向推理为其控制策略.判定树的树形结构的合理性决定推理过程的高效性,所以构造一颗高效的推理树是设计的目标.

经过分析,可将各个节点分为4类:①叶子节点:含有结论数据的查询;②非根子节点:含有推理过程的查询;③第一个非0的父亲节点:仅表示推理最初条件;④公式树节点:表示一个公式,其子节点代表公式所需要的条件.节点间的关系可以表示整个推理的过程:①任意一个非叶子节点可以表示为条件P;②任意非公式树间的连线表示一条规则;③公式树不表示推理规则.

推理机根节点0为用户输入,输入成功则开始构造判定树,整个推理过程需要分析整个事件,最终将整棵树节点中相应的sql语句组合,进入综合数据库查询.以上例煤炭销售决策中决定单价部分具体来说明,其判定树结构图2:

图2 判定树结构

图2中节点0:输入数据成功.节点1:当年合同表有此客户节点2:查询当年合同单价.节点3:合同单价 >=1.节点4:合同单价 <1.节点5:合同单价.节点6:实际单价=合同单价*热值/0.238 89.节点 7:热值.节点 8:0.238 89.

组合sql语句的过程是从根节点开始的:

(1)遍历树将第一个非0的父亲节点编号入编号队列,将其sql语句入数据队列,转到(2);

(2)若该节点与其孩子节点组成规则,则转到(3);若与其孩子表示公式,则转到(5);

(3)将第1条数据出队,用此数据代替孩子节点中的Rule字段,将新生产的数据入数据队,将此孩子节点编号入编号队,当孩子节点有k个时将分别有k条数据入数据队和编号队.当孩子节点编号全部入编号队时,该节点编号出队,转到(4);

(4)遍历编号队列,若队头编号对应节点不是叶子节点则转到转到(2),否则将数据队列队头做标记,再将编号队列以及数据队列队头都出队.指针指向新队头编号节点,转到(2).若队列空则算法结束;

(5)将第1条数据对应的Formula字段用对应孩子节点的SQL字段替换,依次将孩子节点编号入队,该节点编号出队,转到(4).

结合上例组合sql语句过程如下:

(1)将节点1编号入编号队列,其sql语句入数据队列;

(2)节点1其与孩子节点2组成规则,则将第1条数据出队即select htid from htb where khid=(X)and year=(Y),将它代替节点2sql语句的Rule字段,产生的新数据 select price from htb where htid=(select htid from htb where khid=(X)and year=(Y))入数据队列,将节点2编号入编号队列,节点1编号出队;

(3)遍历编号队列,队头编号对应节点2不是叶子节点,其与孩子节点3和节点4组成规则,则将数据队列中第一条数据出队,填入两孩子节点Rule字段,将这两条新数据入数据队列,两节点编号依次入编号队,节点2编号出队;

(4)遍历编号队列,队头编号对应节点3不是叶子节点,同(3)处理方法,新数据入数据队列,节点5编号入编号队,节点3编号出队.同理遍历编号队列,处理节点4;

(5)直至遍历到节点5,其为叶子节点,将数据队头做标记,再将编号队列以及数据队列队头都出队.指针指向新队头编号节点6,其与孩子组成公式,则将数据队列第1条数据对应的Formula字段用对应孩子节点的SQL字段替换,依次将孩子节点7和节点8编号入队,节点6编号出队;

(6)继续遍历编号队列,由于节点7和节点8都是叶子节点则依次将数据队头做标记,再将编号队列以及数据队列队头都出队.此时编号队列为空,结束.

整个推理过程中作标记的数据队列中的数据即为进入综合销售数据库中进行查询的语句.

2.4 解释器和事实库

事实库相当于数学中"黑板"的功能,用于暂时存放煤炭销售决策推理过程中产生的中间结果或事实等[5].本系统事实库采用数据库表存贮,其中存放:用户输入的数据、推理机推理过程中从知识库事实表取出的description字段和sql字段内容、编号队列内容、数据队列内容、sql执行结果以及程序保存断点信息,因此其相当于一个大容量“黑板”,用户可根据关键字进行查询.

解释器负责提供对整个煤炭销售决策推理过程的解释.系统采用“路径跟踪法”记录问题求解的推理过程,推理机从事实库中将已作标记的数据取出进入综合数据库中查询,将查询成功的那条sql语句的对应树查出,从根节点依次遍历,将节点的事实信息从知识库事实表description字段取出,存入事实表,解释器从事实表中取出按行显示即是推理的整个过程.

3 结论

网络化煤炭销售决策专家系统通过将专家知识经验最终结构化为数据库运算,运用数据库强大的查询计算功能,实现知识推理和数值运算结合,从而提供比初级的决策支持系统更有力的决策支持能力,使决策者从“报表轰炸”型决策向商业智能决策转型.系统将企业现有的人力、物力、财力、技术、资金和信息等要素进行最佳组合[6],通过动态调整量和价的比例以达到利润的最大化,从而加快资金的周转,促成企业的良性循环和可持续发展.

[1]杨毅,孙超.基于数据仓库的煤炭运销决策支持系统研究[J].中国煤炭,2009(2):16-38.

[2]GEORGE F LUGER.Artificial Intelligence:Structures and Strategies for Complex Problem Solving Six Edition[M].Addison Wesley,2009.

[3]JOSEPH C GIARRATANO,GARY D RILEY.Expert Systems Principles and Programming[M].4th ed,Thomson,2005:18-21.

[4]印鉴,陈忆群,刘星成.专家系统原理与编程[M].4版,北京:机械工业出版社,2006.

[5]王阿川,缪天宇,曹军.基于Web森林病虫害防治决策专家系统研究[J].计算机技术与发展,2008,18(4):228-235.

[6]朱海涛.煤炭企业建设商业智能系统的思考[J].煤炭经济研究,2010,30(9):74-76.

[7]黄务兰.一种新的基于产生式规则的推理树结构[J].微电子学与计算机,2008,24(4):78-81.

[8]曹林,王阿川.基于WEBGIS林火决策专家系统的构建[J].林业机械与木工设备,2010,38(3):44-46.

[9]孙莉莉,李军,李怀佳.基于产生式探井决策专家系统的研究与应用[J].计算机系统应用,2010,19(7):115-118.

猜你喜欢
字段知识库单价
图书馆中文图书编目外包数据质量控制分析
如何求单价
嘟嘟熊家的百货商店(二十四)——单价是多少
算单价
基于TRIZ与知识库的创新模型构建及在注塑机设计中的应用
高速公路信息系统维护知识库的建立和应用
基于Drupal发布学者知识库关联数据的研究
CNMARC304字段和314字段责任附注方式解析
2014年中考数学命题大预测试题
无正题名文献著录方法评述