产品配置设计能够根据预先定义的零部件集合以及它们之间的相互约束关系,快速形成满足客户个性化需求的特定产品,是解决设计个性化与低成本间矛盾、实现大批量定制的主要方法。
配置知识是配置设计的关键,其组织与管理方式直接影响了配置设计的效率和配置结果的正确性。
目前常见的配置设计知识表达方法主要有基于规则的配置设计方法、基于实例的表达方法、基于约束的配置设计、基于本体的配置设计方法等。
这些配置设计知识的表达方法为推动配置设计的深入发展具有重要意义,并且在特定应用领域已经得到了很好的应用。但是上述几种方法也存在以下两点不足:
(1)随着机械产品零部件数目的增多和设计复杂程度的增加,配置知识库中的配置知识越来越多,配置设计效率随着配置知识的膨胀而不断降低。
(2)机械产品总是处于不断地完善之中,相应地,配置知识也处于不断地变更之中,如何高效地更改配置知识并确保一致性也是配置知识维护的重要方面。
针对上述问题,提出了基于智能配置单元的产品配置知识的自适应方法,使得配置知识能够随着配置历史的增加而动态地调整和自适应,有效地保证了配置知识的一致性,提高了配置推理的效率。
1 配置知识自适应的必要性
1.1 人机交互配置和自动配置
产品配置设计是快速满足客户需求多样化的主要手段,其主要过程是:1)建立面向客户群的产品主结构。主结构由零部件族组成,每个零部件族可以对应于具有不同参数值的零部件实例;2)当获取客户订单后,工程师依据客户需求从每个零部件族中选择适合的零部件实例构成特定的产品结构。
根据配置设计过程中工程师参与的程度,可以分为人机交互配置和自动配置两类。人机交互配置即指上述过程2),在这个过程中工程师参与的程度较高。与人机交互配置相对的是由计算机依据预先保存的配置规则进行的自动配置设计,在这个过程中,计算机参与的程度较高。它们两者的比较见表1。
表1 人机交互配置与自动配置的比较
1.2 提高配置效率的主要方法
从表1可以看出,对于人机交互配置,影响配置设计效率的主要原因是:
1)由于随着配置历史的增加,属于同一个零部件族的实例种类不断增加,工程师需要花费越来越多的时间从众多的零部件判断和选择适合客户需求的零部件实例。
2)由于产品零部件之间通常具有与/或等关系。例如零件A和零件B不能同时出现在同一个产品结构中,零件C必须与零件D同时存在于一个产品结构中等,在对产品配置结果中的零部件进行增加、删除等编辑操作时,需要花费很多时间来保证产品结构的一致性。
因此提高人机交互配置的主要方法是:1)通过计算机对零部件实例的有效组织,减少一个零件族中的零部件实例的种类;2)在需要对产品结构进行编辑时,利用计算机进行相关一致性的保证。
对于自动配置,影响配置效率的主要原因是:由于计算机内部存储的配置规则往往是无序的,计算机在配置规则匹配是只能采取盲目搜索的方法,从而浪费了很多搜索时间。因此提高自动配置的主要方法是重新组织每个零部件族中的所有配置规则,将这些配置规则按照匹配成功率进行组织。这样计算机在进行配置规则匹配时就可以按照匹配成功率从高到低进行有目的的搜索,提高配置设计的效率。
1.3 配置知识主动自适应与被动自适应
如果将零部件实例、配置规则和产品结构的组成统称为配置知识,则提高配置设计效率最有效的方法是进行配置知识的自适应。依据自适应的发起动因,可以将配置知识自适应过程分为主动自适应和被动自适应。
配置知识主动自适应是指当零部件实例种类超过某个上限或配置规则匹配效率低于某个下限时,配置知识主动进行重新组织,以适应新的配置需求;配置知识被动自适应是指当配置工程师对产品结构进行编辑时,维护过程由被动触发来保证产品结构的一致性。
主动自适应过程与被动自适应过程的主要区别就在于:主动自适应的动作是由配置知识主动触发的,而被动自适应的动作是由工程师触发的。
2 配置知识的自适应模型
2.1 智能配置单元的基本概念
为了实现产品配置设计的自适应以提高产品配置的效率,借鉴Agent的实现机理,将配置知识与产品零部件模块进行结合,形成不同的智能配置单元(ICU)。
ICU包括7个部分:ICU名称、感应器、消息机制、效应器、配置知识、内部机制和外部机制。图1为ICU的逻辑结构。ICU可以形式化地表示如下:
图1 ICU的逻辑结构
〈ICU〉::=〈ICU名称〉〈感应器〉〈消息机制〉
〈效应器〉〈配置知识〉〈内部机制〉〈外部机制〉
〈感知器〉::=〈激活条件〉〈信息流〉
〈消息机制〉::={〈信息原语〉(〈信息内容〉)}
〈信息原语〉::=〈Propose〉|〈Accept〉|〈Re-fuse〉|〈Inform〉|〈Modify〉|〈Cancel〉
〈信息内容〉::=〈发送者〉〈接受者〉〈时间〉〈信息流〉
〈效应器〉::=〈事物处理名〉(〈事物处理描述〉)
〈配置知识〉::=〈全局知识〉|〈配置规则〉|〈配置实例〉
〈内部机制〉::=〈目标〉〈内部自适应准则〉
〈外部机制〉::=〈协商对象集合〉〈协商主题〉〈协商规则〉
ICU名称是产品零部件模块的编号,在系统中惟一标识一个ICU。感应器能够监听所有ICU内部和外部的消息,并通过消息机制发送相应的执行命令给相应ICU效应器。效应器根据事物处理名称自动执行相应的配置知识维护操作。
如果配置实例、配置规则等配置知识属于当前某个特定的零部件族,其构成的ICU称为局部ICU;如果产品结构的一致性、配置策略等配置知识作用于整个产品,其构成的ICU称为全局ICU。
内部机制包含了自适应的目标和内部自适应准则。自适应目标根据配置知识的不同而不同,对于配置知识以规则表达为主的ICU其目标是优化规则的搜索顺序,对于配置知识以实例表达为主的ICU则其目标是优化实例种类和数目。内部自适应准则根据自适应目标进行判断,如果符合自适应条件则通过内部消息通知效应器进行自适应操作。
外部机制包含协商对象集合、协商主题和协商规则。协商对象集合包含发起协商的ICU和响应协商的ICU;协商的主题包括停止某个零件的使用、更新某个零件参数等;协商的规则是指协商冲突的解决方法。
2.2 基于ICU的配置知识自适应模型
产品配置知识的自适应需要产品主结构中的所有ICU的协调运作才能实现,为此提出了图2所示的配置知识自适应模型。感应器根据激活条件将消息传递给相应的ICU对象,并由相应ICU对象中的效应器执行相应的操作。按照消息传递对象的不同,将消息分为内部消息和外部消息。内部消息是指消息传入与传出的对象相同,外部消息则相反。内部消息能够激发效应器对当前ICU内部的配置知识进行自适应,外部消息则通过全局ICU的协调保证各个相关ICU的一致动作。
图2 基于ICU的配置知识自适应模型
为了便于全局ICU监控各个局部ICU行为,各局部ICU均需要在全局ICU进行注册。如果各个ICU对同一个协商主题不能达成一致,全局ICU需要根据配置策略和冲突规则解决方案对ICU行为进行指导并提出建议。
3 配置知识的主动自适应方法
对于配置知识的主动自适应,引发ICU效应器工作的消息来源于当前ICU内部,配置知识的维护操作是自发进行的。主动自适应又包括配置规则的自适应和配置实例的自适应。
3.1 配置规则的自适应方法
3.1.1 配置规则自适应的主要原理 如果ICU内部的配置知识以类似if-then的产生式规则进行表达,则将这类ICU称作规则类ICU。规则类ICU自适应的主要原理是:根据配置设计历史,统计已有配置设计对配置规则的使用情况,按照规则匹配成功的次数将规则进行A、B、C分类。其中A类规则为匹配成功次数较少的规则集合, C类规则为匹配成功次数较多的规则集合,介于两者之间的是B类规则。在配置设计中,配置器首先从C类规则进行匹配,然后依次是B类规则和A类规则。进行规则的ABC分类是基于以下假设:根据配置设计历史,C类规则能够满足当前客户需求的几率最大,然后依次是B类规则和A类规则。
规则ABC分类的前提是进行各规则匹配优先度的计算。第i个规则的优先度pi的计算公式为
式中:k表示当前ICU中的配置规则总数,ni表示第i个规则的匹配成功次数,nj表示第j个规则的匹配成功次数。
规则类ICU的自适应准则为:如果当前规则匹配优先度大于2则将该规则设为C类,大于1小余2则设为B类,其余的设为A类。可形式化地表示为
rule_classify(P,rule_no)
{
ifp≥2 then SendMessage(rule_no,‘C’)
else
ifp>1 andp<2 then SendMessage(rule_no,‘B’)
else
SendMessage(rule_no,‘A’)
}
3.1.2自适应配置过程分析 某电梯厂对轿门地坎的配置知识以产生式规则表达为主,表2表示经过300次成功配置后该轿门地坎ICU内部配置规则的自适应结果。其中变量JJ表示“开门距”,DKCL表示“地坎材料”。
从表2可以看出,如果没有进行配置知识的自组织,则匹配搜索顺序为:1→2→3→4→5→6→7→8→9→10→11→12。按照匹配优先度,其匹配搜索顺序为:4→7→5→8→1→2→3→6→9→10→11→12。如果在这次配置过程中是编号7的规则为真(依据前述假设,7号匹配成功率较高),则在经过配置自组织之后,只要搜索2步即可完成配置过程。而没有经过自组织,需要搜索7步才可以完成匹配过程。
表2 某电梯厂轿门地坎的自适应结果
3.2 配置实例的自适应方法
3.2.1 实例的积聚性 用零部件实例作为配置知识表达的ICU称为实例类ICU。实例类ICU定义了所有可以向用户提供的零部件实例。在产品配置过程中,选择一个最能满足客户需求的的实例作为配置结果,如果都不能满足客户需求,则生成新的零部件实例。
产品零部件通常可以用一个或多个特征变量进行描述,每个特征变量均可以设置一定的取值范围,对一个变量赋予一个特定的值就可以生成一个实例,因此理论上可以生成无限多的实例。但由于客户的需求总是有偏好,从统计学的角度分析,实际上满足客户需求的实例往往呈现某种积聚性。如图3所示,对于具有X和Y两个特征变量的实例集合,从历史数据分析,满足客户需求的实例基本上集中在A、B和C这3个区域。
图3 积聚性示例
3.2.2 实例的空间度计算 对于同一个实例类ICU内部的实例均可以用一组相同的特征变量进行表达,且每个特征变量均可定义一定的取值范围,因此具有N个变量的实例集合就构成了一个N维实例空间。实例集合中的每个实例是N维空间中的一个点。实例空间度定量描述了空间中实例点距离实例空间原点的远近。由于对于同一个实例ICU,其N维有限空间是相同的,只要依次计算每个实例的空间度(instance space degree,ISD)即可量化比较实例的聚合程度。
虽然空间度相近的实例也表示实例具有较高的相似度,但是计算空间度比计算实例相似度具有明显的优势:空间度克服了相似度随所选基准实例变化而变化以及需要逐一比较的缺点,只要ICU中的特征变量种类和取值范围不变,实例的空间度就不会随着实例的增减而发生变化,且是惟一的确定值。
1)一维空间度的计算
如图4所示,x是区间[a,b]内的一点,则一维空间度的计算公式如下:
式中:n为x在枚举变量集合中的位置号,N为枚举变量集合的集合大小。
图4 一维空间度计算示例
2)N维空间度的计算
对于任一实例a,其空间度s(a)的计算公式为
式中:N表示当前实例类ICU具有的特征变量数目;xi表示实例a中第i变量的特征值;s(xi)表示xi的空间度;wi为xi的权重,表示了变量xi的重要程度。
3.2.3 自适应准则表达 实例类ICU自适应准则的基本思想是:利用积聚性原理找出空间度接近的零部件实例,将这些零部件实例合并为一组,从而减少实例的种类和提高零部件设计生产的标准化。实例类ICU的自适应准则可以形式化地表示如下:
Instance_classify(Instance_1,Instance_2,t){
If Abs(Instance_1.s-Instabce_2. s)〈t then
SendMessage(Instance_1,Instance_2,‘Unify’)
End if
}
上述形式化代码的意义是:如果两个实例的空间度差值小余给定的度量值t,则将两个实例合并一组。度量值t的选择是关键,如果取值太大,则可能将那些不相似的实例进行了合并;如果取值太小,则不能有效地减少零部件的种类。因此在实际设计中,通常由具有设计经验的设计师进行确定。
同一组积聚度相近的实例可以仅用一个实例替代。替代实例的生成有两种方法:一种是从组内任选一个实例;另一种是取组内各个实例变量的平均值,然后适当的规范化。
3.2.4 自适应配置过程分析 由于电梯额定速度、载重量等不同,电梯安全钳具有不同的尺寸和型号,形成了多个安全钳实例。为了避免安全钳实例的膨胀,需要对各个安全钳实例进行空间度计算,并将空间度接近的实例进行合并。
电梯安全钳可以用3个特征变量v(额定速度)、Q(载重量)和G(轿箱重量)进行描述,其取值分别是v(0.25~5.1m/s)、Q(400~5000kg)和G(800~5500kg),均可取连续值。v、Q和G的权重依次为:1.0、0.8和0.7。表3列出了部分安全钳实例及其空间度值。
表3 电梯安全钳的部分实例及其空间度(自适应前)
如果将空间度差异的度量值t设为0.01,则从表3中可以看出有3组实例具有较高的积聚性,第一组为T01000101-003、T01000101-006和T01000101-008;第二组为T01000101-004、T01000101-005和T01000101-009,第三组为T01000101-002和T01000101-010。如果任选组内一个实例作为替代实例,则经过积聚性分析并自适应后的电梯安全钳实例见表4。通过表3和4可以看出,通过实例自适应后,在配置设计时工程师可以从较少的实例中进行选择,提高了实例搜索和选择的效率。
表4 电梯安全钳的所有实例及其空间度(自适应后)
4 配置知识的被动自适应方法
在配置知识被动式自适应中,引发ICU效应器执行动作的消息来源于ICU外部,配置知识的维护操作是在外部干预的情况下被动完成的。如果把产品主结构中的每一节点看作是一个ICU,节点之间的相互制约关系就可通过各个节点ICU协商方式来完成,因此配置知识的被动自适应方法实际上是多ICU的协商过程。
协商过程可按以下步骤进行:
1)当相关产品设计信息发送变化后,相关ICU提出协商的意愿主题并向相关的ICU发送协商消息。对于全局配置知识的变化,例如产品配置策略、优化准则等则由全局ICU作为协商的发起者;对于零部件特性参数变化、配置规则变化等局部配置知识等则由相应的零部件ICU发送协商的意愿。
2)所有参与协商的响应ICU在接到消息后,回消息表明其协商的意愿。
3)如果不能达成协议,则根据ICU中定义的协商规则进行协商,直至双方达成一致或者放弃协商并终止自适应过程。
4)所有参与协商的ICU成为新的协商发起者,进行新一轮的协商,重复执行步骤2)、3)。
5)当所有相关ICU均达成一致状态,各自ICU中的效应执行相应的操作,配置知识的被动自适应过程结束。
图5(a)所示为一个产品结构的局部,其中虚线表示了节点之间的修改制约关系,即节点1作为发起者时,节点1.1和3为相应的响应者。当节点3作为发起者时,节点3.2和3.3为相应的响应者。图5(b)~(f)演示了基于ICU协商的被动自适应过程。
1)图5(b)表示节点1作为发起ICU首先向全局ICU表示了修改的意愿,全局ICU根据其定义的全局配置策略进行干涉判断,并向节点1表达了接受的意愿;
2)图5(c)表示在得到全局ICU的许可后,根据协商集合发送修改的意愿,即向节点1.1和3所表示的ICU发送意愿;
3)图5(d)表示节点1.1向节点1表示了接受意愿,但节点3表示了拒绝的意愿,由于达不成一致意见,节点1立即通知全局ICU,全局ICU根据预先定义的策略向节点1提出了新的修改建议。
4)图5(e)表示节点1向节点1.1和3重新发出修改的建议,在与节点1.1和3达成协议后,节点3又向节点3.2和3.3发出修改的建议,获得了节点3.2和3.3的同意。
5)图5(f)表示在所有节点均达成一致后,节点1向全局ICU进行通报,各个相关ICU利用相应的效应器执行修改。
图5 配置知识被动自适应过程
5 结论
(1)提出了产品配置知识的主动式自适应方法,通过优化配置规则搜索顺序和减少配置实例等自适应方法有效地提高了产品配置设计的效率,克服了一般配置设计效率随配置规则和实例增加而降低的缺点。
(2)提出了产品配置知识的被动式自适应方法,通过多个ICU协商保证了产品零部件在增加、删除和更改等操作过程中配置知识的正确性和一致性。
配置设计中配置知识的表达有多种形式,本文的研究重点是基于规则和基于实例的配置知识自适应方法,下一步将对基于本体和基于约束等配置知识的自适应方法进行重点研究。
(审核编辑: Doris)