收稿日期:2002-09-04 基金项目:湖南省教育厅面向新世纪教改重点资助项目(湘教通2001(178)-14)
作者简介:唐红娥(1943-),女,湖南长沙人,教授,主要研究方向:计算机图形学、几何造型、多媒体技术、智能CAD/CAI ;文晟(1974-),男,湖南永州人,硕士研究生,主要研究方向:几何造型、专家系统、智能CAD/CAI.
文章编号:1001-9081(2003)02-0024-02
CL IPS 在工程制图专家系统中的应用研究
唐红娥,文 晟
(中南大学机电工程学院,湖南长沙410072)
摘 要:文中探讨了运用专家系统工具CL IPS 开发工程制图专家系统的一种新方法。利用ObjectARX 开发应用程序及专家知识库,并通过调用CL IPS 动态链接库,实现了整个系统的智能化。
关键词:工程制图;专家系统;CL IPS ;ObjectARX 中图分类号:TP182 文献标识码:A
Application of CL IPS in the Engineering G raphics Expert System
TAN G Hong 2e ,WEN Sheng
(College of Mechanical and Elect rical Engineering ,Cent ral South U niversity ,Changsha Hunan 410072,China )
Abstract :This paper describes a new method of using expert system tool CL IPS to develop the engineering graphics expert system.The method exploits ObjectARX to develop the application program and expert knowledge libraries ,and calls the CL IPS Dynamic Link Library ,realizing the whole system πs intelligence.
K ey w ords :engineering graphics ;expert system ;CL IPS ;ObjectARX
1 专家系统工具CL IPS 简介
CL IPS (C Language Integrates
Product System )是由美国
宇航局(NASA )开发的一种专家系统工具,现有的CL IPS (6.1
版)已经具有产生式系统(基于规则)、框架结构、面向对象和过程式编程等多种知识表达方式,功能相
当强大,属于第二代专家系统工具。其基本思想是将某领域专家的经验与知识用事实的形式建立一个开放式的专家知识库,并为这个知识库建立一系列规则,当启动专家系统后,它能根据使用者的回答或选择,依照规则查询专家知识库,从而得到与规则一致的推理结果。
放之四海而皆准2 工程制图专家系统的结构
图1 系统结构示意图
工程制图专家系统是由我们开发的一套基于CL IPS 的教育型专家系统,其目的在于通过构筑工程制图领域知识库,建立具有知识推演能力的知识机,成功地解决一些以往只有工程图学专业教师才能解决的工程制图方面的智能性问题,如:通过一定的练习及测试,对学生在学习中产生的问题进行
分析、评价,并能有针对性地给出提示、做出辅导,从而体现整个系统的智能性。这是为我国工程制图专家系统领域的发展做出的一项很有意义的研究。
系统的核心主要由三个部分组成:人机界面、数据采集和数据处理、知识库和推理机。其中,人机界面使用专业绘图软件AutoCAD ,数据采集和数据处理由自行开发的ObjectARX 应用程序实现,知识库和推理机用CL IPS 进行开发,整个系统使用Microsoft 公司的VC ++作为开发及编译环境。
本系统中各模块的关系如图1所示。
图中虚线框内为用CL IPS 开发的部分,虚线框外是使用
ObjectARX 开发的应用程序部分。
3 工程制图专家系统功能的实现
3.1 在ObjectARX 程序中实现与CL IPS 的混合编程
本系统的核心问题之一就是如何使面向对象的
ObjectARX 与基于规则的C L IPS 实现融合,从而达到两者相互
之间的数据交换。C L IPS 开发者为使C L IPS 易于与其它高级语言实现混合编程,提供了很多的支持,用户可以使用直接嵌入式的混合编程和使用DLL 动态链接库的混合编程方式。
在因特网上可以下载由C L IPS 开发者免费提供的开发环境软件包和源代码,其中包含了一个clips.dll 的文件,这就是由
C L IPS 开发者提供的动态链接库。通过调用此动态链接库中
的函数,就可以实现与C L IPS 的混合编程。C L IPS DLL
(Dynamic Link Library ,动态链接库)封装了C L IPS 的核心命令如:Load 、Ret 、Run 等,并且允许用户将C L IPS 嵌入到其它C
++程序中。当把clips.dll 加入到ObjectARX 应用程序之后,C L IPS 的推理机就成为ObjectARX 应用程序的一部分。茶色
第23卷第2期
2003年2月
计算机应用
Computer Applications
Vol.23,No.2Feb.,2003
CCL IPSWrap是在clipsmfc.h中被定义并由CL IPS开发者实现封装的一个类,用户可通过该类的成员变量和成员函数直接使用CL IPS的函数。但该类是一个通用型的类,功能上不能完全满足本系统的需要,因此我们对该类进行了重新编译,增加了一些新的数据成员,如指向事实、规则、模板等的指针以及用来获取事实、规则、全局变量、待议事件表等的函数,实现了在程序中获得并断言(asrt)事实等的功能。混合编程的具体实现方法如下:
//构造类CCL IPSWrap的对象
CCL IPSWrap CL IPSEng;
//初始化CL IPS引擎,DLL在此处被载入
CCL IPSEng.CL IPSInit();
为使系统实现实时推理,在ObjectARX应用程序中用到的推理引擎片断如下:
CString strCL IPSScript="C:\Rules\dot.clp";
//系统存放规则的地址,dot.clp为已编译点的投影规则int iErrCode=CL IPSEng.CL IPSLoad(strCL IPSScript);
CL IPSEng.CL IPSRet();//将CL IPS知识库复位//向CL IPS引擎断言相应的事实,strFact File为存放事实文件
//的CString类的对象
CString strFactsFile="C:\";
CL IPSEng.CL IPSLoadFacts(strFactsFile);
//把结果输出到指定文件中
CL IPSEng.CL IPSDribble(strOut File,TRU E);
将来完成时CL IPSEng.CL IPSRun();
CL IPSEng.CL IPSDribble(strOut File,FALSE);
CL IPSEng.CL IPSExit(0);
return(0);
3.2 专家知识库和推理机
专家知识库的功能是提供一个能对知识进行系统化地组织和管理,并能进行一致性校验的机构。CL IPS的知识系统采用如下的形式描述:
规则::=(<;规则号>,mix match
<;前提1>|<;前提2>|...
<;结论>)
在本系统中专家知识库的建立与更新是通过以下方式实现:首先由本领域专家(即有丰富经验的工程制图专业教授)的经验得到相关的专家知识,包括各种制图领域的投影规则,然后知识工程师通过ObjectARX应用程序,将专家知识依次创建为符合CL IPS语法的规则表,并把它添加到知识库中。通过这种方式,可以有效地保证整个知识库的开放性与可扩充性。
在产生式专家系统中,匹配算法是关系到整个专家系统效率的核心问题之一。本系统采用了CL IPS自身的推理机,使用的匹配算法为著名的里德算法(Rete Pattern Matching Algorithm),这是CL IPS使用的默认算法。此算法通过占用较多的内存来换取较高的速度,这使得整个专家系统的推理速度很快。
3.3 数据采集和数据处理qxp
在本系统中,数据采集由ObjectARX应用程序实现,该程序是整个专家系统的一部分。在AutoCAD中,用户首先根据系统的提示选择需要练习的题目类型,并进行必要的图形初始化,然后根据出题要求进行作图回答。当图形绘制完毕
以后,用户按照程序的要求分别选取已经完成的图形部分,最后由应用程序获取所需的数据参数。以直线的数据采集为例,其程序代码如下所示:
男士面部皮肤保养
void G etLinePara()
{
hunt
ads-name en;
ads-point pt;
if(acedEntSel("\n请选择实体:",en,pt)!=RTNORM)给领导送礼
{
acut Printf("没有选择实体,请您重新选择!\n");
return;
}
//acedEntSel()函数是在ObjectARX开发包的acedads.h
//文件中定义的函数,用于获取指定实体
AcDbObject Id lineId;
acdbG etObject Id(lineId,en);
//得到与ads-name对象关联的AutoCAD数据库对象ID
//(数据类型为AcDbObject ID)
AcDbLine3pLine;
acdbOpenObject(pLine,lineId,AcDb::kForWrite);
//以读写的方式打开在AutoCAD数据库中驻留的该实体对象
Ac G ePoint3d LineSta=pLine->start Point();
Ac G ePoint3d LineEnd=pLine->endpoint();
//得到直线两端点的空间位置参数∗∗
}
因为直线的位置是由两个端点的空间位置所决定,因此获得两个端点的位置参数,也就知道了直线在图形中的空间位置。由ObjectARX应用程序直接采集的数据参数不属于“
专家语言”,并且与CL IPS的语法规则不符,因此不能把它直接送入专家系统内核,必须先对其进行相应的处理。与之相关的程序流程图如图2所示。
图2
将获得的图形数据参数与图形初始化时输入的标准参数,通过ObjectARX应用程序以文件形式保存至指定目录。推理引擎将该文件载入,并将其断言(asrt)传到CL IPS的内核中。CL IPS核心根据专家知识库和规则表,利用“专家语言”查询知识库及相应的投影规则以完成对系统的推理,并根
52
2003年唐红娥等:CL IPS在工程制图专家系统中的应用研究
文章编号:1001-9081(2003)02-0026-02
享有批量折扣的库存系统的动态仿真模型touch是什么
胡幼华,潘荫荣,房爱莲
(华东师范大学计算机科学技术系,上海200062)
摘 要:基于离散事件系统仿真原理,建立了享有批量价格折扣的随机性库存系统动态仿真模型,从而可用计算机仿真技术来选定最佳存贮策略。
关键词:随机性的库存系统;存贮策略;动态仿真模型;离散事件系统
中图分类号:TP391.9 文献标识码:A
Dynamic Simulation Model of Inventory System with Discount of B atch
HU Y ou2hua,PAN Y in2rong,FAN G Ai2liang
(Depart ment of Com puter Science and Technology,East China Norm al U niversity,S hanghai200062,China)
Abstract:Bad on the simulation principle of the discrete event system,a dynamic simulation model of the stochastic inventory system with the discount of batch is created in this paper.The optimal inventory policy can be lected with the computer simulation technique.
K ey w ords:stochastic inventory system;inventory policy;dynamic simulation model;discrete event system
1 引言
为了制订科学的存贮策略,库存系统的建模被中外学者广泛探讨[1~5]。在经济活动中大批订货常常可享受价格折扣。文献[3~5]建立了享有批量价格折扣的库存系统的确定性模型,得到其最优存贮策略。但实际的许多库存系统中包含了若干随机因素,比确定性系统复杂得多,往往难以得到解析解,必须用计算机仿真技术加以研究。此外,确定性模型把降低库存费用以提高经济效益作为唯一目标,而随着我国加入WTO,提高经济效益和改进服务成为企业提高竞争力的两个不可或缺的要素。本文基于离散事件系统的仿真原理,提出了有批量折扣的随机性库存系统的仿真模型,可通过计算机动态仿真技术得到既包括库存费用又反映服务水平两个方面的系统性能指标,从而选择最佳存贮策略。
2 存贮策略和库存系统的性能指标
本文所研究的库存系统中的“提前时间”(即订货至订货到达的时间间隔)、顾客对库存的需求量以及两次需求的时间间隔均为已知概率分布的随机变量。本文采用随机性库存系统模型中常用的定点订货法作为存贮策略,即每当库存量I 小于订货点s时订货,每次订货量均为R。需求到达时,如I≥需求量D,则需求立即满足;否则库存量降至I-D,为负值,表示缺货,缺货等订货到达时交付补足。令I(t)为t时刻的库存量。令I+(t)=max[I(t),0]和I-(t)=max[-I(t), 0],分别表示t时刻的实际库存量和实际缺货量。时间[0, T](T为总的仿真时间)中库存货物的保管费C h和缺货费
C s(合同违约金、企业信誉下降等损失)分别为h∫T0I+(t)dt 和π∫T0I-(t)dt,其中h和π分别为每件货物每天的保管费和缺货费[6]。每次订货的费用为k+R・c,其中k为订货手续费, c为每件货物的单价。货物单价按订货量分为若干个等级。
本文的仿真模型统计了库存总费用的日均值(C h+C s+总订货费TO TC K)/T。此外,是否频繁缺货标志着库存系统的服务水平。C s在一定程度上反映了缺货情况。为了更直
收稿日期:2002-11-23(修改稿)
作者简介:胡幼华(1946-),女,浙江人,教授,主要研究方向:计算机仿真; 潘荫荣(1946-),男,浙江人,教授,主要研究方向:计算机应用技术; 房爱莲(1964-),安徽人,女,讲师,硕士,主要研究方向:计算机应用技术.
据专家知识库中的专家经验,给出合理的解释及可能出错的原因,最后将这些结果保存至指定的文件中,利用ObjectARX 应用程序在AutoCAD中显示。
4 结束语
本文结合专家系统工具CL IPS和AutoCAD的二次开发环境ObjectARX,介绍了一种开发工程制图专家系统的新方法,即使用AutoCAD作为人机界面,用自行开发的ObjectARX应用程序进行数据采集和数
据处理,并运用CL IPS作为推理工具,实现了对在AutoCAD中所绘图形的智能推理。
参考文献
[1] NASA.CL IPS Reference Manual Volume I/II[Z],1998.
[2] 吴鹤龄.专家系统工具CL IPS及其应用[M].北京理工大学出
版社,1991.
[3] 吴泉源,刘江宁.人工智能与专家系统[M].长沙:国防科技大学
出版社,1995.
[4] McAuley C.AutoCAD2000ObjectARX编程指南[M].李世国,
潘世忠,等译.北京:机械工业出版社,2000.
[5] Kruglinski DJ.Visual C++技术内幕[M].潘爱民,王国印,等
托福雅思分数换算译.北京:清华大学出版社,1998.
第23卷第2期2003年2月
计算机应用
Computer Applications
Vol.23,No.2
Feb.,2003